1

公式APIページで「時間」を検索しましたが、クラスが見つかりません。RichLongRichIntのすべてのメソッドを調べましたが、メソッドが見つかりません。

私は特にint/longからある種のリッチオブジェクトに変換するメソッドについて話している:

2 hours + 12 seconds

私はパッケージが何であるかを尋ねているのではないことに注意してください、私はそれを見つける方法を知りたいです。

4

2 に答える 2

3

-Xlog-implicitsフラグを使用して、コンパイラーに暗黙の変換を検出している場所を表示させることができます。

于 2012-05-18T15:29:36.477 に答える
3

それらは標準のScalaAPIにはありません。JodaTimeにscala-timeラッパーを使用していますか?もしそうなら、それはあなたにどこを見るべきかを教えてくれるでしょう。一般に、どのインポートで機能が有効になるかがわかっている場合は、ドキュメントを検索するときに非常に役立ちます。

メソッド名がわかっている場合は、左側のパネルの上部、ScalaDocの検索テキストフィールドのすぐ下にある小さな文字をクリックできます。これにより、メソッドを含む、その名前のドキュメント内のすべてのリストが表示されます(そしてそれを見つける方法を教えてください)。

クラス自体にメソッドがない場合は、Scalaを使用して、変換されるクラスを通知できます。

def whoHasSize[A](a: A)(implicit ev: A => { def size: Int }) = ev(a).getClass.getName

scala> whoHasSize("fish")
res1: java.lang.String = scala.collection.immutable.StringOps

したがって、ここでは、文字列自体にメソッド"fish"がないことがわかります。size代わりに、それはメソッドによって付与されscala.collection.immutable.StringOpsます。あなたはについて知るために同じことをすることができますseconds

最後に、シチューの答えはおそらくあなたが本当に探していたものです!

于 2012-05-18T15:48:41.243 に答える