sách gpt4 ai đã đi

ocaml - Giới thiệu về Camel

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

我现在正在尝试学习ocaml,并希望从一个小程序开始,生成所有位组合:
[“0”,“0”,“0”]
[“0”,“0”,“1”]
[“0”,“1”,“0”]
... 等等

我的想法是下面的代码:

let rec bitstr length list =
if length = 0 then
danh sách
else begin
bitstr (length-1)("0"::list);
bitstr (length-1)("1"::list);
end;;

但我收到以下错误:
Warning S: this expression should have type unit.
val bitstr : int -> string list -> string list =
# bitstr 3 [];;
- : string list = ["1"; "1"; "1"]

我不知道该更改什么,您能帮我吗?

最好的祝福
菲利普

1 Câu trả lời

begin foo; bar endthực hiệnđồ ăn并丢弃结果,然后执行bar。因为这仅在đồ ăn具有副作用且没有有意义的返回值的情况下才有意义,如果foo具有除单位以外的返回值,则ocaml不会发出警告,因为其他所有情况都可能是程序员错误(即,程序员实际上并不打算使用结果将被丢弃)-此处就是这种情况。

在这种情况下,用“0”计算列表然后将其丢弃实际上没有任何意义。大概您想串联两个列表。您可以使用@运算符执行此操作:

let rec bitstr length list =
if length = 0 then
[list]
khác
bitstr (length-1)("0"::list) @ bitstr (length-1)("1"::list);;

请注意,我还使 length = 0情况返回了 [list]Còn hơn là danh sách,因此结果是列表列表,而不是平面列表。

关于ocaml - Camel 介绍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802900/

25 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