問題タブ [scala-option]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 選択肢と未来
私は、驚くほど多くの抽象化を備えた ubercool アプリケーションを構築中です。ここで、過度に設計された EntityGetService を設計します。
私が最初に欲しいのは、多くの抽象型です。次のように言ってみましょう:
ここでの CONTAINER は、要求されたエンティティを含む (または含まない) 何かのタイプです。Option[ENTITY] と非常によく似ています。しかし、私が望む 2 番目のことは、CONTAINER も Future[ENTITY] にすることができることです。
だから本当に私はこのような特性を書きたいです:
次のように指定します。
Option と Future に何かを再拡張または混合せずにこれを行う方法はありますか?
Option と Future には少し共通点があるようです (両方のコンテナー)。それはモナドに関連するものですか?
それとも、これは私の不眠症の産物ですか?
scala - Scalaのコレクションのインデックスからオプションを取得するには?
インデックスで要素を取得しようとするときに、Scala コレクション API のみを使用してリスト内のオプションを取得する方法はありますか?
この関数に相当するものを探していますが、存在しますか?
ありがとう
scala - この 2 つのコード ブロックが Option クラスと同等なのはなぜですか?
Option クラスのドキュメントでは、次の 2 つの例は同等であると書かれています。
と
しかし、それらがどのように同等であるかがわかりません。最初のコード ブロックrequest getParameter "name"
では type のインスタンスを返しますOption[String]
が、2 番目のコード ブロック ステートメントname <- request getParameter "name"
では type のインスタンスを返しますString
(次のステートメントがvariable (に対して定義されていないため) のtrim
メソッドを呼び出すためと仮定しました)。name
trim
Option[String]
scala - Option を Try に (最適に) 変換するにはどうすればよいですか?
メソッド呼び出しによって返された Option を、必要に応じて Failure 値を指定して Try に変換するには\/
どうすればよいでしょうか?
たとえば、私は次のコードを持っています。
最終的な一致をマップまたは flatMap または同様の構造にモーフィングし、理解のために前に組み込む方法が必要なように感じます。
また、BRef チェックの失敗と比較して、ARef から Option[A] を返す呼び出しが失敗した (None が返された) 場合に、別の失敗メッセージを指定できるようにしたいと思います (失敗の 1 つの理由を知ることだけに関心があります。そのため、scalaz Validation は理想的には適合しないように感じます)。
これはモナド変換子を使用するのに適した場所ですか? もしそうなら、scalaz は適切なものを提供していますか? あるいは、誰かがそれがどのように見えるかの例を挙げてもらえますか?
scala - オプションの方法を理解する
次のmap
署名について、正しく読んでいますか?
source - Scala の FP
[B]
タイプのオブジェクトのみB
がこの関数を呼び出すことができることを意味します
f: A => B
同じ型を返す1つの引数、関数を受け入れることを意味しますB
この関数の具体的な例については、あいまいです。
scala - Scala オプション ||
次のように、scala でいくつかの Option のいずれかの値を取得したい:
しかし、なぜ||
Option の演算子が定義されていないのだろうか? これを行うためのより慣用的な方法はありますか?
scala - Try[Option[T]] を平坦化する方法
Try[Option[T]]
aを aにフラット化したいTry[T]
これが私のコードです
より良い方法はありますか?
scala - より洗練された書き方 if( list.nonEmpty) Some(list.max) else None?
List.max
順序付けに基づいてリストの「最大」要素を返します...ただし、リストが空の場合はjava.lang.UnsupportedOperationException: empty.max
例外が発生します。if ステートメントやマッチなどでコードをポイ捨てするのはあまり好きではありません。headOption
forのようなものが欲しいのですmax
が、そのような方法は見当たりません。に相当するものを取得する最もエレガントな方法は何list.maxOption
ですか?