import sbt._fromまたは from からのみ取得できDefaultProjectます。はパッケージ オブジェクトではないためsbt、 から取得する必要がありますDefaultProject。
これは、インプリシットをスコープに定義またはインポートする必要objectがあり、オブジェクト (オブジェクトまたはクラスのインスタンス)からのみインポートできるためです。例外は、ソースまたはターゲット (既知の場合) 型のコンパニオン オブジェクトで定義された暗黙的であり、既に確認したようにどちらも適用されません。
しかし、それは少しばかげています。新しい Scaladoc が作成された理由は、まさにこのような問題を処理するためです。
たとえば、Scala パーサーを考えてみましょう。
import scala.util.parsing.combinator.JavaTokenParsers
object T extends JavaTokenParsers {
def myparser = "\\w+".r ~ "\\d+".r
}
メソッド~は で定義されていないRegexため、検索します。ここで最新の scaladoc をチェックして、以下の説明を試してください。
#最も簡単な方法:左上隅にある をクリックして、記号で始まるメソッドのリストを取得します。下にスクロールして~、BigInt OnceParser パーサー パーサーを参照してください。ここから先は試行錯誤と勘で。
整然とした方法:JavaTokenParsers検索ボックスに入力してクラスをすばやく見つけ、選択します。メソッドのリストで、implicitfromRegexから何か他のものを見つけます。にかかるのは 1 つだけParserです。をクリックしParserて確認します。
変換を行うメソッドをクリックしてimplicit def regex、定義されている場所を確認することをお勧めしますRegexParsers。JavaTokenParsersそのクラスで定義またはオーバーライドされていない場合でも、そのメソッドの定義を示すドキュメント。
これは特に重要です。SBT API ドキュメンテーションを で確認DefaultProjectすると、メソッド自体が定義されておらず、40 (正しく数えた場合) 祖先のトレイトとメソッドの名前のみを提供しているという事実に出くわすからです。クラス。をクリックして からと の両方への暗黙ManagedProject的な変換があることを確認するには、しばらく時間がかかる場合があります。前者は と を定義し、後者は を定義します。StringGroupIDRepositoryName%%%at