True
กับ False
เท่านั้น (ไม่สามารถใช้ 0
หรือค่าว่างแบบอื่นๆ แทน False
ได้)ฟังก์ชันสำหรับตรวจสอบความเท่ากัน ใช้
==
(เท่ากัน) กับ /=
(ไม่เท่ากัน) ส่วนฟังก์ชันสำหรับการตรวจสอบลำดับก็ได้แก่ <=
(น้อยกว่าเท่ากับ), <
(น้อยกว่า), >
(มากกว่า), >=
(มากกว่าเท่ากับ)logic สำหรับเชื่อมค่าความจริงเหล่านี้ได้แก่
&&
(และ), ||
(หรือ), not
(นิเสธ)สาเหตุที่นิเสธไม่ใช้สัญลักษณ์เช่นเดียวกับการดำเนินการอื่นๆ เพราะฟังก์ชันใน Haskell จะเขียนแทนด้วยสัญลักษณ์ได้ มันต้องเป็นฟังก์ชัน 2 ตัวแปรและทำหน้าที่เป็น infix เท่านั้นครับ
ด้วยความที่เป็นภาษา functional ทุกๆ expression จะต้องคืนค่ากลับมาเสมอ ทำให้การใช้ if ใน Haskell ต้องมีส่วน else ตามท้ายตลอด
ถ้าต้องการใช้แค่ if อย่างเดียว และบังคับโปรแกรมให้หยุดทำงานเมื่อเจอเงื่อนไขที่ผิด ก็สามารถใช้ฟังก์ชัน
error
แบบนี้แทนได้ตัวอย่างข้างต้นนี้สามารถแยกเขียนหลายบรรทัดให้อ่านง่ายขึ้นได้ แต่เนื่องจาก
ghci
ไม่สะดวกเมื่อต้องเขียนหลายบรรทัด จะย้ายไปเขียนเป็นฟังก์ชันในไฟล์แทน ดังนี้สิ่งที่ต่างไปจากการประกาศฟังก์ชันบน
ghci
คือ ไม่ต้องมี let
นำหน้า เนื่องจากฟังก์ชันนี้ไม่ได้ถูกประกาศใน main
ครับเซฟเป็นไฟล์
func.hs
แล้วกลับมาที่ ghci
เราจะเรียกฟังก์ชันที่เขียนเก็บด้วยคำสั่ง :l
หรือ :load
ดังนี้
No comments:
Post a Comment