問題タブ [splat]
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.
ruby - ハッシュのスプラット
ハッシュの感嘆符は、それを配列に変換します。
[*{foo: :bar}] # => [[:foo, :bar]]
ここで何らかの隠しメカニズム (暗黙のクラス キャストなど) が行われているのでしょうか、それとも組み込みのプリミティブ機能ですか?
配列のほかに、
nil
Ruby 1.9 で splat 演算子で消えたり変更されたりするのはハッシュだけですか?
ruby - ハッシュ分解
splat 演算子を使用して配列を分解できます。
しかし、オプションタイプの良さのためにハッシュを破壊する方法はありますか?
ネイティブの Ruby ではない場合、Rails はこのようなものを追加しましたか?
現在、私は大まかにこれをやっています
ruby - Ruby で splat 引数のデフォルト値を設定する方法
splat 引数にデフォルト値を設定すると、エラーが発生します。
私が試したいくつかのバリエーションも機能しません:
ここでは不確定性の問題は見られないので、可能であるように思われます。
関連: Ruby 1.9 のメソッド定義で、非明示的なスプラット パラメータとデフォルト パラメータが間違った構文であるのはなぜですか?
ruby - この方法を説明してください
このメソッドの星について質問があります。
引数リストの星印 ( ) の意味は何*numbers
ですか? 1, :*
また、コロンの後の星 ( )の意味は何ですか?
ruby - 配列を引数リストとして渡す方法
Ruby のドキュメントには、メソッド シグネチャが次のように表示されます。
私には配列のように見えますが、そうではありません。次のように、単一の文字列またはさまざまな文字列を引数として渡すことができます。
配列を引数のリストとして渡すにはどうすればよいですか? 以下は機能しません。
python - リストの代わりに渡された場合、リストまたは文字列自体から最初の文字列を返すにはどうすればよいですか?
必要なマッピング関数の Ruby の例:
文字列は Python で反復可能であるため、この言語設計とどのように戦って同じ結果をエレガントに達成できませんか?
java - スプラット オペレーターを模倣するより簡単な方法はありますか?
Ruby で利用できることがわかりましたが、Python で行ったことから認識しています。「スプラット」演算子。簡単に言えば、「splat」オペレーターの機能を模倣して、現在の自分を達成するためのより簡単な方法があるかどうか疑問に思っています。
非常によく似たメソッドがいくつかあり、いくつかの小さなことを除いてすべて同じことをしていることに気付いたので、残りが呼び出すことができる中心的なメソッドを作成しました。メソッドのシグネチャは次のとおりです。
少なくとも 1 つの引数 ( scriptLocation
) を必要とし、任意の数の追加の引数を許可します。私がこれでやっていることは、ProcessBuilder
. 私の望みは、次のようなことをすることです:
しかしもちろん、ProcessBuilder
コンストラクターは次のようなものしか受け入れません。
List<String>
String[]
String...
したがって、私のアプローチは明らかに機能しません。
私の知る限り正常に動作する現在の回避策は次のとおりです。
(はい、使用する必要はなく、List
単に作成できることを理解していますString[]
)
(そして、はい、使用する代わりに、ループして個別にextraArgs
追加できることを理解していますand )finalArgs
addAll
Arrays.asList()
(そして、はい、可変引数と組み合わせた特定の引数を返すことで、回避策を効果的に達成する関数を作成できることを知っています)
ですから、これらの最後の 3 つのステートメント以外に、これを達成できるものはあるのでしょうか?