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
検索ボックスに入力してクラスをすばやく見つけ、選択します。メソッドのリストで、implicit
fromRegex
から何か他のものを見つけます。にかかるのは 1 つだけParser
です。をクリックしParser
て確認します。
変換を行うメソッドをクリックしてimplicit def regex
、定義されている場所を確認することをお勧めしますRegexParsers
。JavaTokenParsers
そのクラスで定義またはオーバーライドされていない場合でも、そのメソッドの定義を示すドキュメント。
これは特に重要です。SBT API ドキュメンテーションを で確認DefaultProject
すると、メソッド自体が定義されておらず、40 (正しく数えた場合) 祖先のトレイトとメソッドの名前のみを提供しているという事実に出くわすからです。クラス。をクリックして からと の両方への暗黙ManagedProject
的な変換があることを確認するには、しばらく時間がかかる場合があります。前者は と を定義し、後者は を定義します。String
GroupID
RepositoryName
%
%%
at