[英]Are these lines of scala code equivalent?
給定一個對象myObject,它具有方法getSomething,該方法接受String參數並返回String
#1和#2等價嗎?
val foo = myOjbect.getSomething("foo")
val foo = myOjbect getSomething "foo"
並且可以接受/優先於另一個嗎? 什么時候使用1 vs 2,反之亦然?
它們嚴格等效。
關於第二個問題,Stack Overflow並不是要決定什么是可接受的還是首選的。 但是,您可以參考有關方法調用的scala文檔 ,該文檔說明了這一點:
Scala具有特殊的無標點語法,用於調用帶有一個參數的方法。 許多Scala程序員將這種表示法用於符號命名的方法:
// recommended a + b // legal, but less readable a+b // legal, but definitely strange a.+(b)
但對於幾乎所有以字母命名的方法,都應避免使用它:
// recommended names.mkString(",") // also sometimes seen; controversial names mkString ","
是的,它們是相同的。 開發測試時,我主要使用第二版:
result mustEqual "Hello"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.