Tôi đang gặp khó khăn khi tìm câu trả lời cụ thể cho những gì tôi biết là điều gì đó tầm thường. Tôi muốn hiểu cách khối hoạt động trong Scala. Tôi đến từ một nền java/ruby và có vẻ như scala có một cách hoàn toàn khác với việc sử dụng các khối.Tìm hiểu Khối Scala
Mã sau đây là từ Play! Framework website. Tôi muốn hiểu những gì Hành động là ngữ nghĩa. Nó là một đối tượng hoặc một chức năng chấp nhận một khối, hoặc có lẽ không.
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Nếu nó là một chức năng, có lẽ đó là đường cú pháp sau (trong trường hợp này như thế nào scala vượt qua xung quanh khối đằng sau hậu trường):
def index = Action({
Ok(views.html.index("Your new application is ready."))
})
Hoặc là nó một số cú pháp scala tôi m không biết.
Mọi tham chiếu đến mã nguồn Scala sẽ giúp tôi hiểu cách thức hoạt động của cảnh hậu trường.
Cảm ơn bạn đã trả lời. Vì vậy, từ những gì tôi đang thu thập, đây là đường cú pháp cho Action.apply(). Loại bỏ đường, toàn bộ câu nói sẽ như thế nào? – b1nd
Câu lệnh mà bạn có về cơ bản là 'Action.apply (Ok.apply (views.html.index (" Ứng dụng mới của bạn đã sẵn sàng. ")))'. Nếu bạn nhìn vào định nghĩa 'apply()' trong URL mà tôi đã cung cấp, bạn sẽ thấy một mũi tên trước kiểu tham số. Điều đó chỉ đánh dấu nó là tham số 'by-name', được mô tả ở trên. (Ngoài ra, nó không phải ngẫu nhiên mà cú pháp cho by-name trông giống như một hàm ẩn danh không có đối số) – yan
Liên kết để chơi doc bị hỏng bằng cách này. Đôi khi, SO parser messes up liên kết có chứa ký hiệu đô la. –