一般的な質問は、計算の実際の結果の他に、メソッドから追加の情報を返す方法です。しかし、私はこの情報を黙って無視することができます。メソッドからオプションの情報を返す方法は?
例えばdropWhile
をIterator
とすると、返される結果は、反復されたイテレータです。しかし、たぶん時々、落とした要素の数に興味があるかもしれません。
dropWhile
の場合、この情報は、イテレータにインデックスを追加し、その後にドロップされたステップの数を計算することによって外部的に生成することができます。しかし、一般的にこれは不可能です。
単純な解決法は、実際の結果とオプションの情報を含むタプルを返すことです。しかし、私はメソッドを呼び出すたびにタプルを処理する必要があります。たとえオプションの情報に興味がなくても。
このようなオプションの情報を収集するための巧妙な方法があるのかどうかという疑問はありますか?
多分Option[X => Unit]
のコールバック関数のパラメータはNone
になるでしょうか?もっと巧妙なものがありますか?
これについて考えてみましょう。欠点は、 'A'を推論できないときにタイプアノテーションが必要であるということです。 – ziggystar
'val'に代入して暗黙の変換の恩恵を受けるには、型の注釈が必要です。 –
ところで、あなたは型の値を使うこともできます: 'val res = someMethod:Int'。 –