2014-12-03 46 views
0

我在我的應用程序,即「反思訪問」,「隱式轉換」和「後綴運算符」一些功能的警告。這可以通過導入各種scala.language功能來解決。什麼樣的挑戰呢Scala的特點警告修補

但是這是什麼意思?爲什麼scala編譯器希望我明確這些?編譯器顯然可以看到我正在使用這些功能。

回答

0

所有這些標誌都記錄在scala.language對象。

反射訪問能有驚人的表現,是無法使用在某些環境中(如容器具有嚴格的安全策略,也可以在Android上造成困難)。所以值得一提。

支持後綴運營商在分析產生歧義。我認爲較長期的計劃(在這裏我沒有提到Typesafe)是停止支持postfix運算符的文件中沒有明確啓用這種支持。這將使用於類似的代碼更一致解析:

a b 
{ 
    ... 

它是目前曖昧b是否是一個後綴操作符,或者採用以下塊作爲參數的方法。

有些人發現隱式轉換混亂,一些組織禁止其作爲一個政策問題使用。具有明確的標誌警告讀者該文件包含隱式轉換。

老實說,我認爲這一舉動是由政治動機至少部分 - implicits和模棱兩可的語法是斯卡拉的膚淺的批評共同點 - 但對於類型安全的特別,由「企業」用戶獲得接受斯卡拉是一個重大的目標,並能夠「關閉」某些功能可能是實現這一目標的一個實際步驟。如果你很樂意無處不在地使用這些特性,我建議只配置相關的編譯器參數(例如-language:implicitConversions)。