問題タブ [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.

0 投票する
2 に答える
4777 参照

scala - ScalaのSomeからフィールドを抽出する

Some オブジェクトが None または渡されたオブジェクトの 1 つになる可能性があるという事実を知っています。None ではないという事実を考慮して、 Some オブジェクトからフィールドを抽出する理想的な方法は何ですか? フィールドの1つとして「日付」を持つクラス「At」を作成しました。Some クラスには Product トレイトを含む mixin があるため、次のようにするとうまくいきます。

しかし、これを行うための理想的な方法はありますか?

0 投票する
5 に答える
8138 参照

scala - オプションのタプルを Scala のオプションのタプルに変換するにはどうすればよいですか?

この質問は、この質問の反対です。

純粋な Scala の回答と Scalaz の回答の両方が役に立ちます。

0 投票する
4 に答える
4673 参照

scala - Scala Option を慣用的に処理する

Optionmap/ getOrElse、またはを処理するより慣用的な方法は何matchですか?

また

0 投票する
2 に答える
6298 参照

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

これがばかげた質問としてマークされていないことを願っていますが、その「強力な」を読むたびに、疑問符が頭に浮かびます。

0 投票する
3 に答える
1825 参照

scala - 2 つのオプションが定義されていることを効率的に確認する方法は?

2 つのオプションがあるとします。

a と b の両方が定義されていることを効率的にチェックする方法は?

私は今、次のようなものを書くことができます:

しかし、それは見栄えが悪く、効率的ではありません。

そう。どうやってするか?ベスト プラクティスとは

アップデート

ビジネスロジックを実行したい。

0 投票する
3 に答える
217 参照

scala - Scalaで2つのオプションを「または」-ingしますか?

私はこのようなことをしたい:

これを行うための慣用的な方法は何ですか? 私が思いついた最高のものはSeq(x, y).flatten.headOption

0 投票する
5 に答える
242 参照

scala - Option をよりクリーンなコードで使用する

これが初心者の質問である場合は申し訳ありません... Scalaでは、インスタンスを返すが何も返さない可能性がある関数がある場合、返すOptionよりもを使用する方が好ましいことを理解しています。null 参照を渡しておらず、どこかnullで危険を冒していないため、これにより安全性が向上することを理解しています。NullPointerException

ただし、パターン マッチングを使用するよりも、オプションを処理するためのクリーンな方法はありますか? 私が最終的に使用する構文は次のとおりです。

実際には、これを行うことはすべて Java バージョンと同等です。

Option参照の代わりに使用する場合、Scala でこのボイラープレートをすべて回避する他の方法はありnullますか? 私がやりたいのは、 に何らかのオブジェクトが含まれている限りOption(つまり、 ではない場合None)、コードを実行することだけです。