Tôi bắt đầu học ngôn ngữ lập trình Scala. Tôi đã một số nắm bắt ngôn ngữ FP như Erlang và Haskell và tôi có một nghi ngờ về ý nghĩa của các biểu thức/năng suất, như:Có phải 'lợi nhuận' trong Scala tương đương với chức năng bản đồ không?
for (arg <- args) yield arg.length
này sẽ thu thập một mảng với độ dài của bất kỳ tham số đầu vào. Từ những gì tôi đã hiểu điều này có vẻ như chức năng bản đồ trong lập trình FP bình thường:
map (\a -> a * 2) [1, 2, 3] (in Haskell)
Tôi biết rằng thư viện Scala chứa các phương pháp scala.collection.map, vì vậy tôi muốn biết: Là Có sự khác biệt hoặc giới hạn trong việc sử dụng một trong hai phong cách, hoặc họ là chính xác như nhau?
thể trùng lặp của (http://stackoverflow.com/questions/1052476/can-someone-explain-scalas-yield) –
Scala's for comprehension tương tự như ký hiệu 'do' của Haskell. –
#Daniel, nhưng tôi không yêu cầu ý nghĩa 'năng suất', nhưng đối với những điểm tương đồng với các biểu thức FP khác! –