Giả sử tôi có một ngu ngốc ít trường hợp lớp như vậy: case class Foo(name: String, other: Foo)
Làm thế nào tôi có thể xác định a và b bất biến mà a.other là b và b.other là a? Scala có cung cấp cách
Chạy mã này: j = let x = 4
in let x = x * x
in x
trong thông dịch viên: ghci> j
... no response ...
treo với sử dụng CPU rất ít. Tại sao điều này? Tôi mong đợi j = 16.
Khi đọc "Schemer dày dặn", tôi đã bắt đầu tìm hiểu về letrec. Tôi hiểu những gì nó làm (có thể được nhân đôi với một Y-Combinator) nhưng cuốn sách đang sử dụng nó thay cho định kỳ trên chức năng đã de
Làm cách nào để letrec được triển khai mà không cần sử dụng set!? Dường như với tôi rằng set! là một cấu trúc lập trình bắt buộc, và bằng cách sử dụng nó, một mất lợi ích của lập trình chức năng.