問題タブ [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 投票する
4 に答える
43488 参照

java - Javaでnullを返すメソッドをScalaのOptionでラップしますか?

私がメソッドを持っているが、session.get(str: String): StringそれがJavaから来ているので、それが文字列を返すのかnullを返すのかわからないとします。

代わりにScalaでこれを処理する簡単な方法はありsession.get("foo") == nullますか?たぶん、いくつかの魔法が次のようToOption(session.get("foo"))に適用され、それから私はそれをScalaのように扱うことができます

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

scala - 理解のためにリストを使用してオプションを作成すると、順序に応じてタイプの不一致が発生します

この構造がScalaでタイプミスマッチエラーを引き起こすのはなぜですか?

一部をリストに切り替えると、正常にコンパイルされます。

これも正常に機能します。

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

scala - Option[X] の Scala コレクションを X のコレクションに変換する方法

私は Scala を探求し始めています。私が興味をそそられていることの 1 つは、関連するエラーOptionを排除できる型と約束です。null

ただし、たとえば のリスト (または他のコレクション) を のコレクションに変換する方法を見つけることができませんでしたOption[String](String明らかに である値を除外しますNone)。

言い換えれば、これからどうやって得るのですか:

...これに:

それが答えに影響を与える場合、私はScala 2.8を使用しています。

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

scala - AnyRef を Option にボックス化するメソッドはどこにありますか?

James Iry によるこのブログ投稿で、彼は次のように書いています。

さらに、Scala には、null かどうかに応じて、値を Some(value) または None に昇格させる「オプション」メソッドがあります ...

optionscaladoc のどこにもこのメソッドが見つからないようです。

Iulian Dragos の gdata クライアント プロジェクトには、おそらく James が言及していたメソッドが含まれています。

scaladoc のどこでこのメソッドを見つけることができるか指摘してください。

PS私は次のような方法を持っています:

私はそれを次のように変更する必要があるかどうかについて 2 つの考えがあります。

クライアントは で呼び出すことができるためnullです。現在、最初のインスタンスでは、文字列パラメーターが必要であり、option前述の方法を使用して手動でボックス化しています。

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

scala - Option の orNull メソッドにこの余分な暗黙の引数があるのはなぜですか?

ここの理由は何だろうか(implicit ev: Null <:< A1)

しません

次のような値型では機能しないように見えることを考えると十分です

しかし

しますか?

Optionソースコード

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

scala - Option に fold メソッドがないのはなぜですか?

なぜこのようなscala.Optionメソッドfoldが定義されていないのだろうか:

に相当

map+を使用するよりも良いことはありませんgetOrElseか?

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

scala - Scala:2つ以上のオプションを備えたマップ

基本的に、私は次のことを行うための最もスカラのような方法を探しています:

これにより、正しい出力が得られます。

しかし、3つ以上のオプションを合計するには、あまりにも多くifのsを使用するか、ある種のループを使用する必要があります。

編集-1:

質問を書いている間、私はある種の答えを思いついた:

これは私の経験の浅い目には非常に慣用的に見えます。これは、3つ以上の値でも機能します。それでも、リストに変換せずに同じことを行うことは可能ですか?

編集-2:

私はこの解決策に行き着きました(ziggystarのおかげで):

編集-3:

Landeiのおかげで別の選択肢:

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

scala - Scala Option[(A, B)] パターンマッチング

私はJavaコードジェネレーターを書いています。

java.sql.Types[Int] から(String, String)、最初の値が Java 型であり、2 番目の値がデフォルトでインポートされない場合に型をインポートする Java パッケージであるタプルへのマッピングを含む不変の Map があります ( java.lang):

このマップの検索でパターン マッチを試みています。データベース メタデータdataTypeの値は次のとおりです。java.sql.Types

コンパイラは最初にエラーを出していますcase(で始まりますcase Some(jType, Some(iType))):error: wrong number of arguments for <none>: (x: (java.lang.String, Option[java.lang.String]))Some[(java.lang.String, Option[java.lang.String])]

何が悪いのかわかりません。

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

scala - ネストされたScalaマッチャーはなぜSome(Some(1),1)が一致しないのですか?

ネストされたマッチングが機能しないようです。これは奇妙な制限です。

動作の例は次のとおりです。

これは機能します:

今、私はただの愚痴ですか、それともこれを達成するためのより良い方法はありますか?

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

scala - Optionの代わりにnullを返すScalaメソッドとその理由は何ですか?

標準ライブラリが完全に無料であるかどうか、そうでない場合は、インスタンスを返すよりも返す方が望ましいnull合理的なユースケースが存在するかどうかに関心があるのではないかと思います。nullOption