0
A
回答
5
在第一種情況下,您正在使用二元運算符:\
,其中0
是唯一的參數。這會返回一個curried函數,您可以按照您的意願通過lambda _+_
。
第二種情況下,如果您使用:\
作爲中綴運算符,則由於運算符優先級而失敗。斯卡拉首先嚐試評估(0)(_+_)
,給出錯誤Int(0) does not take parameters
,因爲(0)
不是函數。
爲了使用類似語法的第二個版本,您將需要添加一些括號:
scala> ((1 to 5) :\ 0)(_+_)
res1: Int = 15
正如順便說一句,每個運營商是Scala中的一個方法,可以像一個被使用:
scala> 2.+(3)
res2: Int = 5
相關問題
- 1. 後遞增操作:意外的行爲
- 2. 在scala中沒有右操作數的意思是什麼?
- 3. scala中「分組」的意外行爲
- 4. 意外的Scala集合記憶行爲
- 5. Scala向右摺疊並向左摺疊
- 6. 意外操作在拖動後執行
- 7. 重載__lt__操作意外稱爲
- 8. 操作ViewHolder中包含的ListView項目 - 意外的行爲
- 9. 內C - complex.h意外的行爲在不同的操作系統
- 10. Express/MongoDB - 數據庫操作期間的意外行爲
- 11. 意外操作失誤
- 12. 通過異步操作傳遞異步行爲時發生意外的行爲
- 13. 在特定操作之外的視圖上傳遞意外行爲的屬性。
- 14. 意外的行爲
- 15. 意外的行爲()
- 16. 意外的行爲()
- 17. 意外行爲
- 18. 意外行爲
- 19. 意外行爲
- 20. 意外行爲()
- 21. 意外行爲
- 22. 意外行爲
- 23. 意外行爲
- 24. 意外行爲
- 25. 意外行爲
- 26. 意外行爲
- 27. 意外行爲
- 28. 意外行爲
- 29. Scala玩意外的異常
- 30. 意外的動作欄行爲
其實每個操作符都是scala中的一個方法。 –
答案已經更新 –