2012-05-10 15 views

答えて

14

オブジェクトのメソッドと変数をインポートします。だからa.foo()に電話したい場合は、代わりにfoo()に電話をかけることができます。

9

これは、aというオブジェクトのAタイプのすべてのメソッドと変数が、aを明示的に指定することなくこのブロック(スコープ)で使用できるようになりました。 Abar()メソッドを持っているのであれば、あなたは今言うことができる:

bar() 

代わりの

a.bar() 

だけimportが定義されている範囲内で

6

は、あなたが精通している必要があり何かでこれを説明してみましょう:

println("Hello world") 

の質問は:なぜその仕事をしますか? applyメソッドを持つprintlnというオブジェクトはありません。これは、そのようなコードの通常の説明です。まあ、それが起こるとして、上記のコードは実際にこれをやっている。言い換えれば

Predef.println("Hello world") 

を、printlnはオブジェクトscala.Predef上の方法です。だから、あなたはどのようにそれを上のように使うことができますか?さて、このように:

が安定した基準の内容をインポートする(すなわち、ないvarまたはdefreference.でそれらをプレフィックスすることなく、そのメソッドを利用できるようになります。

またscala.Predef内で定義暗黙の変換が同様に利用可能にする方法であり、その中に定義されている任意の暗黙が利用可能に - Scalaはこの順序で(java.langscalascala.Predefの内容をインポートするので、後者のオーバーライドそれ以前のもの)。

+0

+1あなたが_stableリファレンス_ –

関連する問題