問題タブ [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 に答える
586 参照

scala - オプションに問題があるscala初心者、三項演算子に相当するもの

scala の if ステートメントは常に式を返すことを既に読みました

だから私は次のことをしようとしています(疑似コード)

私は試しています

しかし、私はこのエラーが発生します:

注文はオプションです[文字列]

メソッドにオプションのパラメーターを指定したいだけで、そのパラメーター (この場合は順序) が渡されない場合はスキップします

私がやろうとしていることを達成するための最も慣用的な方法は何ですか?

- 編集 -

私はあまりにも急いで尋ねたのだと思います

この道を見つけた、

これは正しい方法ですか?

マップは他の目的のためのものだと思っていました...

0 投票する
1 に答える
2203 参照

scala - Scala の汎用オプション配列から値を返す

関数をジェネリックにするのに苦労しており、助けが必要です。T が Fractional である T の Option を取る配列があります。F# には、オプションのコレクションから None を削除する "choose" 関数があります。scala で「flatten」を使用しようとしていますが、ジェネリック型では機能しません。

私のコードは

...そして後で、 Some の値を取得しようとします:

エラーは次のとおりです。

エラー: パラメータ m の暗黙的な値が見つかりませんでした: scala.reflect.ClassManifest[U] val flat = arr.flatten

私は完全なスカラ初心者であり、おそらくジェネリックで遊ぶべきではありません:)どうすればこれを機能させることができますか?

ありがとう!

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

scala - Scala:どちらかが唯一のオプションですか?

データベースクエリなどの潜在的なランタイム障害に関してはEither[String, Option[T]]、次の結果を正確にキャプチャするために、何らかの形式を使用する必要があるようです。

  1. 一部(レコードが見つかりました)
  2. なし(レコードが見つかりません)
  3. SQL例外

オプションには単に十分なオプションがありません。

私はscalazに飛び込む必要があると思いますが、上記の何かが欠けていない限り、今のところそれはまっすぐです。

DAOの実装で自分自身を追い詰め、書き込み操作にどちらかを使用しましたが、一部のどちらかの書き込みはオプションの読み取りに依存していることがわかりました(たとえば、新しいユーザーのサインアップ時に電子メールが存在するかどうかを確認する)。 。

どちらかにオールインする前に、成功/失敗/例外のランタイムトリフェクタを処理する方法について誰かが別の解決策を持っていますか?

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

scala - Scala、オプションのオプションの折りたたみ

オプションのマップを折りたたむための省略形があるかどうか疑問に思っています。例えば

これを修正するために私は

これは少し重いようです。これに対処するために Option と言う mapOption に暗黙的な関数を作成することもできますが、私が考えていなかったより良い方法があるかどうか疑問に思っています。

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

scala - オプション結果への適用または操作

私は次のコードを持っています:

containsVメソッドのコードを減らしたい。私が最初に考えたのは、foldメソッドを使用してcontainsInメソッドを短縮することでした。しかし、Optionには1つもありませんし、ClassEitherを拡張することもありません。Option [T]はEither[T、None]を拡張すべきではありませんか?次に、少なくとも1つはEitherのfoldメソッドを使用できます。

私の最終的な考えは、s1とs2をリストとして扱い、それを見つけることでしたが、これをコンパイルすることはできません。

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

scala - オプションマップの値を一度に一致させる方法は?

Option[Map[String,String]]一度にいくつかのキーを一致させることは可能ですか (たとえば、ネストされた一致なしで)?

次のスニペットは現在の様子です。

0 投票する
1 に答える
273 参照

scala - Option が for ループ内で明示的な toList を必要とするのはなぜですか?

単純な Option で for ループを使用すると、次のように機能します。

ただし、 Option の内容をループしても、次のことは行われません。

...オプションが明示的にリストに変換されない限り:

なぜ明示的なリスト変換が必要なのですか? これは慣用的な解決策ですか?

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

scala - 2つのオプションを1つに組み合わせる

2つのオプションを組み合わせてScalaに事前定義された関数xがありますか?

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

scala - オプションとしてリストの先頭を取得するためのコンパクトな構文

リストが空でないときにリストの先頭をSomeとして取得し、それ以外の場合はNoneを取得するコンパクトな方法はありますか?

これは私が現在行っていることです、

0 投票する
1 に答える
258 参照

scala - オプションが製品を拡張するのはなぜですか?

私は何かが欠けているに違いありませんが、クラスの特性の実装productElementと特性がわかりません。productArityProductOption

したがって、2つの質問:

  1. なぜOption拡張するのでしょうProductか?
  2. (またはそのOption2つのサブクラスのいずれかが)2つのメソッドを実装していないのはどうしてですか?