問題タブ [scala-placeholder-syntax]

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 に答える
2810 参照

scala - 名前付き引数の下線

誰かがここで何が起こっているのか正確に説明できますか? 私は今それを完全に理解していません:

引数の名前を書いたので、コンパイラはパラメータの型を推測できないと思います。しかし、なぜですか?引数の名前を言うだけで、もっと難しくないはず?!

ありがとう!

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

scala - 関数リテラルの構文を単純化するためのScalaアンダースコアの使用

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

私は最後の文を次のように単純化しようとしました:

しかし、通訳は言います:

私はタイプについてより明確にしようとしました:

コンパイラと私はお互いを理解していません:(

よろしくお願いします、

スタン

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

scala - Scalaアンダースコア - エラー:展開された関数のパラメータタイプがありません

これについてかなりの数の質問があったことは知っていますが、うまくいくはずだと思った簡単な例を作成しましたが、それでもうまくいかず、理由を理解しているかどうかわかりません

2番目のステートメントがコンパイルされない理由を誰かが説明できますか?

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

scala - アンダースコアが問題を引き起こす

次のコードがあります。これは、配列を検索し、何かが 2 番目の引数一致するかどうかを確認することになっています。

次のように呼び出されることになっています。 any(Set(3, 4, 5, 6), _ > 5)

しかし、私がそれを呼び出すとき:

私は関数型言語と Scala の経験がほとんどないので、何が起こっているのか、どのように修正するのかを徹底的に説明してください!

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

scala - Scalaのアンダースコアに属性を強制的にグループ化する

私がやろうとしていること:

MyObject.myMethod(_:MyType.myAttribute)

これは失敗します

type myAttribute is not a member of object MyObject

どちらが正しい。問題は、に帰するのではなく、myMethodmyAttributeを呼びたいということです。どういうわけかタイプアクリプションをグループ化できますか?タイプを返しますが、これは私が望むものではありません。_:MyTypeMyType:myAttribute__:MyType(_:MyType).myAttributeMyType => classOf(myAttribute)

編集:私はこの投稿のタイトルとテキストを変更して、これをドットの結合性として参照しないようにしましたが、これは正しくないと思います。

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

scala - Scala のアンダースコアに一貫性がないことがわかりました

これは機能します:(1 to 5).reduceLeft( _+_ )

しかし、これはしません:(x:Int,y:Int)=>_+_

最初のケースでは無名関数 ( _+_) が正常にコンパイルされましたが、2 番目のケースでは失敗したため、一貫性がありません。

私が見逃したものや間違っているものはありますか?それとも単なる構文定義ですか?

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

scala - Scala を使用した List.map でのアンダースコアと文字列の連結

Scala では、アンダースコアを使用して単純なマップを作成できます。たとえば、次のように書く代わりに:

...代わりに次のように書くことができます:

しかし、何らかの理由で私は書くことができません:

代わりに、次のように書く必要があります。

誰でも理由を説明できますか?

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

scala - 無名関数を定義するためにアンダースコアを管理する規則は何ですか?

無名関数を作成するためのプレースホルダーとして使用_していますが、問題は、Scala がコードをどのように変換するかを予測できないことです。より正確には、私が望む無名関数の「大きさ」を誤って判断します。

I can see Scalaを使用-Xprint:typerすると、最初の関数が「大きな無名関数」に変換されます。

働いた 2 番目 3 番目は、私が望むものに正しく変換されます。

なぜこれ?ルールは何ですか?

0 投票する
0 に答える
2078 参照

scala - Scala アンダースコア: エラー: 展開された関数のパラメーターの型がありません

最近、scala の学習を始めましたが、アンダースコアのしくみに少し戸惑いました。ほとんどの場合、便利な匿名メソッドを提供しますが、コンパイラ (および私) を混乱させるだけの場合もあります。

例えば、

これは機能します

この

しかし、これではありません

いくつかの同様のケースがフォーラムで質問されています (つまり、 this one )。それらのほとんどは、これが this のような無名関数に拡張されていると述べていますx => randomList.groupBy(x)。コンパイラが2番目のケースをコンパイルする方法を知っているのに、3番目のケースを知らない理由がわかりません。また、明示的な関数を書かずに最後のケースを解決する方法はありますか?