AWK - ฟังก์ชันที่ผู้ใช้กำหนด

ฟังก์ชันเป็นส่วนประกอบพื้นฐานของโปรแกรม AWK ช่วยให้เราสามารถกำหนดฟังก์ชันของเราเองได้ โปรแกรมขนาดใหญ่สามารถแบ่งออกเป็นฟังก์ชันและแต่ละฟังก์ชันสามารถเขียน / ทดสอบได้อย่างอิสระ ให้การใช้งานโค้ดซ้ำ

ด้านล่างเป็นรูปแบบทั่วไปของฟังก์ชันที่ผู้ใช้กำหนดเอง -

ไวยากรณ์

function function_name(argument1, argument2, ...) { 
   function body
}

ในไวยากรณ์นี้ไฟล์ function_nameคือชื่อของฟังก์ชันที่ผู้ใช้กำหนดเอง ชื่อฟังก์ชั่นควรขึ้นต้นด้วยตัวอักษรและอักขระที่เหลืออาจรวมกันเป็นตัวเลขอักขระตามตัวอักษรหรือขีดล่างก็ได้ ไม่สามารถใช้คำสำรองของ AWK เป็นชื่อฟังก์ชันได้

ฟังก์ชันสามารถยอมรับหลายอาร์กิวเมนต์โดยคั่นด้วยเครื่องหมายจุลภาค ข้อโต้แย้งไม่ได้บังคับ คุณยังสามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดโดยไม่มีอาร์กิวเมนต์

function body ประกอบด้วยคำสั่ง AWK อย่างน้อยหนึ่งรายการ

ให้เราเขียนสองฟังก์ชันที่คำนวณค่าต่ำสุดและจำนวนสูงสุดและเรียกใช้ฟังก์ชันเหล่านี้จากฟังก์ชันอื่นที่เรียกว่า main. functions.awk ไฟล์ประกอบด้วย -

ตัวอย่าง

# Returns minimum number
function find_min(num1, num2){
   if (num1 < num2)
   return num1
   return num2
}
# Returns maximum number
function find_max(num1, num2){
   if (num1 > num2)
   return num1
   return num2
}
# Main function
function main(num1, num2){
   # Find minimum number
   result = find_min(10, 20)
   print "Minimum =", result
  
   # Find maximum number
   result = find_max(10, 20)
   print "Maximum =", result
}
# Script execution starts here
BEGIN {
   main(10, 20)
}

ในการเรียกใช้รหัสนี้คุณจะได้รับผลลัพธ์ดังต่อไปนี้ -

เอาต์พุต

Minimum = 10
Maximum = 20