Tôi đang cố gắng viết một hàm ẩn danh với tham số theo tên. Đây là những gì tôi mệt mỏi.scala Thông số bằng tên trên một chức năng ẩn danh
val fun = (x: Boolean, y: =>Int) => if(x) y else 0
Lỗi này không thành công.
Error:(106, 31) identifier expected but '=>' found.
val fun = (x: Boolean, y: =>Int) => if(x) y else 0
^
Error:(109, 3) ')' expected but '}' found.
}
^
Mã giống như chức năng chuẩn hoạt động như thế nào.
def fun1(x: Boolean, y: =>Int) = if(x) y else 0
Mọi con trỏ?
--------------- Chỉnh sửa -----------------
Tôi gặp sự cố hai phần. câu trả lời của senia giải quyết trường hợp ban đầu. Giả sử tôi có một hàm có chức năng.
def xxx[A,B](f:(A,=>B)=>B)={}
Theo giải pháp senia, nó hoạt động.
val fun: (Int, =>Boolean) => Boolean = (x, y) => y
xxx[Int,Boolean](fun)
Tuy nhiên tôi muốn loại bỏ niềm vui trung gian và gọi xxx bằng chức năng ẩn danh. Làm
xxx((Int, =>Boolean) => Boolean = (x, y) => y)
Sẽ không hoạt động. Bất kỳ ý tưởng làm thế nào để làm điều này?
Xin chào, Giải pháp của bạn hoạt động. Tuy nhiên tôi có một điều nữa. đã chỉnh sửa bài đăng gốc. Bạn có thể giúp tôi được không. –
@SajithSilva: xem cập nhật – senia
Cảm ơn sự trợ giúp thực sự phù hợp. –