5
import mypack._
我仍然需要
import mypack.box.writer
import mypack.box.reader
和
import mypack.box.parser.stringparser
?
什麼是適當的關鍵字搜索/谷歌? 「遞歸」給了我極大的「尾遞歸」結果。
import mypack._
我仍然需要
import mypack.box.writer
import mypack.box.reader
和
import mypack.box.parser.stringparser
?
什麼是適當的關鍵字搜索/谷歌? 「遞歸」給了我極大的「尾遞歸」結果。
不,Scala導入不是遞歸的。
包是用來保持當前範圍內的名稱空間乾淨。默認情況下導入所有的子包都會違背這一點。
。另一方面,進口相對的,所以你可以這樣做:
import mypack._
import box.writer
import box.reader
import box.parser.stringparser
有些人不喜歡這種風格,因爲它是有點容易出錯。我不喜歡它,因爲絕對和相對進口之間沒有明確的區別。不過,它有時會有所幫助。
「遞歸」似乎與此無關。 「包容」,或許或可以想象爲「傳遞性」。「無論如何,正如丹尼爾所回答的那樣,它沒有二級或更深的進口效應。另一件不會做的事是向名稱空間的外部可見內容添加任何內容(包括當導入出現在類型或值定義塊內時)。 –