sách gpt4 ai đã đi

Tại sao tên hàm được lặp lại trong Haskell? (Người mới)

In lại 作者:行者123 更新时间:2023-12-02 16:33:12 28 4
mua khóa gpt4 Nike

为什么函数名重复

Ví dụ:

lucky :: (Integral a) => a -> String  
lucky 7 = "LUCKY NUMBER SEVEN!"
lucky x = "Sorry, you're out of luck, pal!"

什么时候不应该重复函数名称?它的含义是什么?

Cảm ơn

1 Câu trả lời

您所看到的是正在运行的模式匹配。

我将向您展示另一个例子:

test 1 = "one"
test 2 = "two"
test 3 = "three"

ghci 中的演示:

ghci> test 1
"one"
ghci> test 2
"two"
ghci> test 3
"three"
ghci> test 4
"*** Exception: Non-exhaustive patterns in function test

所以,当你调用任何函数时,运行时系统都会尝试匹配具有定义函数的输入。因此,调用 test 3 将最初检查 test 1 ,由于 1 不等于 3,因此它将继续下一个定义。同样,由于 2 不等于 3,它将移至下一个定义。在下一个定义中,由于 3 是等于 3 它将返回 "two" 字符串。当你尝试模式匹配一些根本不存在的东西,程序抛出异常。

关于haskell - 为什么haskell中函数名重复? (新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938348/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com