Elm - ฟังก์ชั่น

ฟังก์ชันเป็นส่วนประกอบสำคัญของโปรแกรม Elm ฟังก์ชันคือชุดของคำสั่งเพื่อดำเนินงานเฉพาะ

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

ขั้นตอนในการใช้ฟังก์ชัน

มีสามขั้นตอนในการใช้ฟังก์ชัน -

การประกาศฟังก์ชัน

การประกาศฟังก์ชันจะบอกคอมไพลเลอร์เกี่ยวกับชื่อของฟังก์ชันประเภทการส่งคืนและพารามิเตอร์ ไวยากรณ์สำหรับการประกาศฟังก์ชันแสดงไว้ด้านล่าง -

fn_name:data_type_of_the_parameters ->return_type

การประกาศฟังก์ชันระบุสิ่งต่อไปนี้ -

  • ชื่อของฟังก์ชัน

  • ชนิดข้อมูลของพารามิเตอร์ นี่เป็นทางเลือกเนื่องจากฟังก์ชันอาจมีหรือไม่มีพารามิเตอร์ก็ได้

  • ชนิดข้อมูลของค่าซึ่งฟังก์ชันจะส่งกลับ ฟังก์ชันใน Elm ต้องส่งคืนค่าเสมอเนื่องจาก Elm เป็นภาษาโปรแกรมที่ใช้งานได้ ไม่เหมือนกับฟังก์ชันในภาษาโปรแกรมอื่นฟังก์ชัน Elm ไม่ใช้คีย์เวิร์ด return เพื่อส่งคืนค่า

นิยามฟังก์ชันหรือการนำฟังก์ชันไปใช้

นิยามของฟังก์ชันระบุเนื้อความที่แท้จริงของฟังก์ชัน นิยามฟังก์ชันระบุวิธีการทำงานเฉพาะ ไวยากรณ์สำหรับการกำหนดฟังก์ชันมีดังต่อไปนี้ -

fn_name parameter1 parameter2 = statements

เรียกใช้หรือเรียกใช้ฟังก์ชัน

ต้องมีการเรียกใช้ฟังก์ชันเพื่อดำเนินการ ไวยากรณ์สำหรับการเรียกใช้ฟังก์ชันแสดงไว้ด้านล่าง -

fn_name parameter1 parameter2

ภาพประกอบ

รหัสต่อไปนี้กำหนดคำทักทายของฟังก์ชัน ฟังก์ชันส่งคืนสตริง "Hello"

> greet = \
| if True then \
| "Hello" \
| else \
| "GoodBye"
"Hello" : String
> greet
"Hello" : String

ฟังก์ชันที่กำหนดพารามิเตอร์

พารามิเตอร์เป็นกลไกในการส่งผ่านค่าไปยังฟังก์ชัน ค่าของพารามิเตอร์จะถูกส่งไปยังฟังก์ชันในช่วงเวลาของการเรียกใช้ฟังก์ชัน

ภาพประกอบ 1

ตัวอย่างต่อไปนี้กำหนดฟังก์ชันfn_add ฟังก์ชันยอมรับตัวเลขสองตัวเป็นพารามิเตอร์และส่งกลับผลรวม ลองทำสิ่งต่อไปนี้ใน elm REPL -

> fn_add x y = x+y
<function> : number -> number -> number
> fn_add 10 20
30 : number

ภาพประกอบ 2

ตัวอย่างต่อไปนี้กำหนดฟังก์ชัน sayHello ฟังก์ชัน sayHello ยอมรับและส่งคืนค่า String เป็นพารามิเตอร์และส่งคืน String

> sayHello name = "Hello "++ name
<function> : String -> String
> sayHello "Tutorialspoint"
"Hello Tutorialspoint" : String
>

ตัวดำเนินการท่อ

เพื่อให้เข้าใจผู้ประกอบท่อ |> ให้เราพิจารณาตัวอย่างที่เรามีรายชื่อของสตริงที่แตกต่างกันหนึ่ง[ "A", "B", "C"] ตอนนี้เราต้องการสตริงเดี่ยวซึ่งคั่นด้วย -

ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการกับString.join

> String.join "-" ["a","b","c","d","e","f"]
"a-b-c-d-e-f" : String

การดำเนินการเดียวกันสามารถทำได้โดยใช้ตัวดำเนินการไปป์ |> ตัวดำเนินการไปป์สามารถใช้เพื่อเชื่อมโยงการเรียกใช้ฟังก์ชันต่างๆ

> ["a","b","c","d","e","f"] |> String.join "-"
"a-b-c-d-e-f" : String
> ["a","b","c","d","e","f"] |> List.reverse |> String.join "-"
"f-e-d-c-b-a" : String

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