Scala

2012-01-25 30 views
6

işlevleri arasındaki ampersand, Scala'da garip bir sözdizim parçasıyla karşılaştım, birisi bana, diğer işlevlere argüman olarak iletilen işlevler arasında çağrıldığında ampersan ne anlama geldiğini açıklayabilir mi?Scala

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

Bunu bana anlattığınız için teşekkür ederiz.

+1

Bu Lift ile ilgili midir? Eğer öyleyse, lütfen sorunuzda ve belki başlıkta bunu netleştirin. Bu scala standart kitaplığında görünmüyor. – ziggystar

cevap

1

Bu durumda, SetHtml çağrılarının çıktısını birleştiriyor gibi görünüyor.

Böyle daha net mi görünüyor?

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

So & Scala'da dizgiler üzerinde birleştirme operatörü olarak çalışıyor mu? – Jarek

+2

Hayır. & SetHtml tarafından iade edilen bir yöntemdir. Bir String ise, o zaman bir örtük tarafından eklenen bir yöntemdir. Bu, örtülü ve aşırı aşırı yüklenme sorunudur. – Chochos

+1

@Chocos: tasteler elbette değişiyor, ama bence, Lift, örneğin Specs2 gibi bir şeylerin perde arkasındaki makinelerin büyük ölçüde belirsizliği olmadan temiz sözdizimi sağlamada oldukça iyi bir iş çıkarır. Belgelere biraz daha fazla zaman ayırmanız gerekebilir, ancak tartışmaya değer. –