2012-01-25 33 views
6

Tôi đã gặp phải một đoạn cú pháp kỳ lạ trong Scala, ai đó có thể giải thích cho tôi về ý nghĩa của ký hiệu và khi hàm bettween được đặt làm đối số cho hàm khác?Ký hiệu giữa các hàm có nghĩa là gì trong Scala

partialUpdate { 
    SetHtml(currentAmountId, 
    Text(leadingBid.toString)) & 
    SetHtml(nextAmountId, 
    Text(minimumBid.toString)) & 
    SetHtml(winningCustomerId, winningCustomer) & 
    SetValueAndFocus(amountId,"") 
} 

Cảm ơn bạn đã giải thích vấn đề này cho tôi.

+1

Điều này có liên quan đến Nâng không? Nếu vậy, hãy làm rõ điều này trong câu hỏi của bạn và có thể là tiêu đề. Điều này dường như không nằm trong thư viện chuẩn scala. – ziggystar

Trả lời

1

Trong trường hợp này, có vẻ như nó đang ghép nối đầu ra của các cuộc gọi SetHtml.

Trông nó có rõ ràng hơn như thế này không?

partialUpdate { 
    SetHtml(currentAmountId, Text(leadingBid.toString)) & 
    SetHtml(nextAmountId, Text(minimumBid.toString)) & 
    SetHtml(winningCustomerId, winningCustomer) & 
    SetValueAndFocus(amountId,"") 
} 
+0

Vì vậy, & làm việc như nhà điều hành nối trên dây trong Scala? – Jarek

+2

No. & là phương thức của bất kỳ thứ gì được trả về bởi SetHtml. Nếu đó là một String, thì đó là một phương thức được thêm vào bởi một ngầm định. Đây là vấn đề với hàm ý và quá tải quá tải. – Chochos

+1

@Chocos: thị hiếu khác nhau tất nhiên, nhưng theo ý kiến ​​của tôi, Lift thực hiện một công việc khá tốt là cung cấp cú pháp rõ ràng mà không có máy móc tối hậu phía sau cảnh đại loại như Specs2 chẳng hạn. Bạn có thể cần phải dành thêm một chút thời gian ở phía trước với các tài liệu, nhưng nó có giá trị đáng kể. –

Các vấn đề liên quan