問題タブ [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 - ScalaのSomeからフィールドを抽出する
Some オブジェクトが None または渡されたオブジェクトの 1 つになる可能性があるという事実を知っています。None ではないという事実を考慮して、 Some オブジェクトからフィールドを抽出する理想的な方法は何ですか? フィールドの1つとして「日付」を持つクラス「At」を作成しました。Some クラスには Product トレイトを含む mixin があるため、次のようにするとうまくいきます。
しかし、これを行うための理想的な方法はありますか?
scala - オプションのタプルを Scala のオプションのタプルに変換するにはどうすればよいですか?
この質問は、この質問の反対です。
純粋な Scala の回答と Scalaz の回答の両方が役に立ちます。
scala - Scala Option を慣用的に処理する
Option
、map
/ getOrElse
、またはを処理するより慣用的な方法は何match
ですか?
また
java - Java オプションと Scala オプションの違い
最後に、新しい Java 8 を紹介するこの記事Optional
では、次のように述べています。
Optional は、Scala の Option[T] ほど強力ではありません (ただし、少なくとも null をラップすることはできません)。API は null 処理ほど単純ではなく、おそらくはるかに低速です。ただし、コンパイル時のチェックの利点に加えて、一貫して使用される Optional の読みやすさとドキュメントの価値は、欠点よりもはるかに優れています。
私は Scala の非常に基本的な知識を持っており、Java 8Optional
にも慣れてきているため、一見しただけでは、2 つの違いがあるとしても、何が違うのかわかりません。
たとえば、Scala ではパターン マッチングを使用してテストOption
を行い、作業を楽にできることを知っています。しかし、Scala の構文の機能を除いて、Java ではOption
できなくて Scala でできることがあれば知りたいです。Optional
これがばかげた質問としてマークされていないことを願っていますが、その「強力な」を読むたびに、疑問符が頭に浮かびます。
scala - 2 つのオプションが定義されていることを効率的に確認する方法は?
2 つのオプションがあるとします。
a と b の両方が定義されていることを効率的にチェックする方法は?
私は今、次のようなものを書くことができます:
しかし、それは見栄えが悪く、効率的ではありません。
そう。どうやってするか?ベスト プラクティスとは
アップデート
ビジネスロジックを実行したい。
scala - Scalaで2つのオプションを「または」-ingしますか?
私はこのようなことをしたい:
これを行うための慣用的な方法は何ですか? 私が思いついた最高のものはSeq(x, y).flatten.headOption
scala - Option をよりクリーンなコードで使用する
これが初心者の質問である場合は申し訳ありません... Scalaでは、インスタンスを返すが何も返さない可能性がある関数がある場合、返すOption
よりもを使用する方が好ましいことを理解しています。null 参照を渡しておらず、どこかnull
で危険を冒していないため、これにより安全性が向上することを理解しています。NullPointerException
ただし、パターン マッチングを使用するよりも、オプションを処理するためのクリーンな方法はありますか? 私が最終的に使用する構文は次のとおりです。
実際には、これを行うことはすべて Java バージョンと同等です。
Option
参照の代わりに使用する場合、Scala でこのボイラープレートをすべて回避する他の方法はありnull
ますか? 私がやりたいのは、 に何らかのオブジェクトが含まれている限りOption
(つまり、 ではない場合None
)、コードを実行することだけです。