Tôi đang cố gắng hiểu điểm của tính năng ngôn ngữ này của nhiều mệnh đề tham số và lý do bạn sẽ sử dụng nó. Ví dụ, sự khác biệt giữa hai hàm này thực sự là gì?Điểm của nhiều mệnh đề tham số trong định nghĩa hàm trong Scala là gì?
class WTF {
def TwoParamClauses(x : Int)(y: Int) = x + y
def OneParamClause(x: Int, y : Int) = x + y
}
>> val underTest = new WTF
>> underTest.TwoParamClauses(1)(1) // result is '2'
>> underTest.OneParamClause(1,1) // result is '2'
Có gì đó trong số này Scala specification at point 4.6. Xem nếu điều đó có ý nghĩa với bạn không.
NB: spec gọi các mệnh đề 'tham số' này, nhưng tôi nghĩ một số người cũng có thể gọi chúng là 'danh sách tham số'.
nCác-scala lập trình viên ở đây. Có lẽ nó chỉ là một phong cách khác nhau? Không phải mọi thứ đều chỉ có một cách để thực hiện nó. – apscience
được rồi, có một câu trả lời cho câu trả lời này của Daniel Sobral cho http://stackoverflow.com/questions/4697404/scala-currying-by-nested-functions-or-by-multiple-parameter-lists –
được chấp nhận câu trả lời ở đây có thể trả lời câu hỏi này: (1) vì vậy bạn không phải chỉ rõ loại từ mệnh đề param đầu tiên trong mệnh đề thứ hai; (2) cho sự linh hoạt của thiết kế thư viện; (3) để làm cho cà ri dễ dàng hơn: http://stackoverflow.com/questions/4915027/two-ways-of-currying-in-scala-whats-the-use-case-for-each –