อาจารย์ของเราขอให้เราคิดถึงฟังก์ชั่นใน OCaml ที่มีรูปแบบ
'a -> 'b
เช่นฟังก์ชั่นของอาร์กิวเมนต์หนึ่งตัวที่อาจเป็นอะไรก็ได้และสามารถคืนสิ่งที่แตกต่างออกไปได้
ฉันคิดว่าจะใช้raise
ในฟังก์ชั่นที่ไม่สนใจอาร์กิวเมนต์:
let f x = raise Exit
แต่อาจารย์กล่าวว่ามีวิธีแก้ปัญหาที่ไม่ต้องการฟังก์ชันใด ๆ ในไลบรารีมาตรฐาน ฉันสับสน: คุณจะสร้างได้'b
อย่างไรถ้าคุณไม่มีในตอนแรก
ฉันถามที่นี่มากกว่า Stack Overflow เพราะฉันต้องการที่จะเข้าใจสิ่งที่เกิดขึ้นฉันไม่ต้องการเพียงแค่เห็นโปรแกรมที่ไม่มีคำอธิบาย
raise
จะได้ผลเราจึงรู้วิธีที่ดีที่สุดที่จะอธิบายว่าเหตุใดโซลูชันของคุณจึงมองหา (ซึ่งจะทำงานได้ด้วยเหตุผลเดียวกันกับที่raise
ทำงาน)
raise : exn -> 'a
ดังนั้นฉันจะได้รับผลตอบแทนที่ฉันไม่สนใจอาร์กิวเมนต์