2017-09-08 8 views
0

私はscalaのアンモナイトは、utiliteのデフォルトとしてammonite.utilの代わりにscala.utilを使用するにはどうしたらいいですか? 「公式」ScalaのREPLで

scala> import util.Random 
scala> util.Random.nextInt 
res0: Int => -306696783 

を行うことができますが、アンモナイト、REPLに私はそれがアンモナイトに動作させるためにscala.接頭辞を使用する必要がありますので、今

@ import util.Random 
cmd3.sc:1: object Random is not a member of pack ammonite.util 
import util.Random 
    ^
Compilation Failed 

を取得します:

@ import scala.util.Random 
@ scala.util.Random.nextInt 
res1: Int = 503117434 

私は(私のために)「officiaとは異なるutilを使用アンモナイトなぜ私は取得しないためのScalaの新しいのようなものですl "utilだから、誰かがこれに根拠を与えることができれば感謝しています。

さらに具体的にはammonite.utilの代わりにscala.utilになるようにする方法はありますか?

答えて

0

それはアンモナイトが通常のScalaのいずれかの異なるutilライブラリを交換され、それはアンモナイト名前空間はアンモナイトへの具体的な方法の全体の束を持って、それ自身のutilパッケージを持っていることだということではありません。開発者が自分のパッケージに異なる名前を選んだのであれば、おそらくそれはよかったでしょうが、これはAmmonite特有の問題ではありません。それはあなたがいつも忍耐していくものです。ネームスペースの衝突がある場合、唯一のオプションは、あなたが望むパッケージ名を完全に修飾することです。あなたが実際にしたことは素晴らしい解決策です。この詳細についてはhereをご覧ください。

そして、ところで、あなたはインポート後にこれを行うことができますアンモナイトパッケージにはutil.Randomがないので - 私がテストし、これが私の端末からカット&ペーストです:

@ Random.nextInt res1: Int = 1045964363

実際にはメソッド名の衝突があり、解決策を見つけることができますhere

関連する問題