問題タブ [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 - Rubyで文字列リテラルの前の*は何をしますか?
このコードは、a から z までの範囲の配列を作成するようですが、何をするのかわかりません*
。誰か説明してくれませんか?
ruby - Rubyで*(星)はどういう意味ですか?
重複の可能性:
Rubyでこの文字列に対して*演算子は何をしていますか
おそらく他の場所でその答えがありますが、私はそれを見つける方法がわかりません...
私が正しければ*
、関数定義で使用される場合、は複数のパラメーターを意味します。
しかし、*
このようなコードでは何が行われますか?
powershell - あるPowerShell関数の「引数行」を別のPowerShell関数に渡す方法は?
私はいくつかのことを行い、既存の組み込み関数を透過的に呼び出すいくつかの PowerShell 関数を作成しようとしています。すべての議論を手付かずのまま伝えたいと思います。引数の詳細を知る必要はありません。
これを行うために「splat」を使用するのにうんざりしまし@args
たが、期待どおりに機能しませんでした。
以下の例では、 hello!myls
を出力するというおもちゃの関数を作成しました。次に、ビルトイン エイリアスが引数行の残りの部分を変更せずに呼び出す同じビルトイン関数 を呼び出します。私がこれまでに持っているものはかなりうまくいきます:Get-ChildItem
ls
の正しいバージョンはmyls
、引数なし、1 つの引数、名前付き引数、セミコロンで区切られた複数のコマンドを含む行からの呼び出し、およびスペースを含む文字列変数を含む引数内の変数を使用した呼び出しを処理できる必要があります。基本的には、ドロップインの代わりになるはずls
です。
以下のテストmyls
は、ビルトインと比較しますls
:
[注: スペースを節約するために省略および/または圧縮された出力]
必要な動作を得るために書き直す方法はありmyls
ますか?
簡単な答え:はい、可能です。悪いニュース: パラメーターの詳細と、呼び出し先の関数に関するその他のメタデータを認識しているコードが必要です。良いニュース:これをすべて自分で書く必要はありません。このメタデータはプログラムで利用でき、スケルトン プロキシ コードを自動生成するために使用できるモジュールが存在します (以下の @Jaykul の回答を参照)。「MetaProgramming」という名前のモジュールを使用することにしました。インポートしたら、ドロップインmyls
スクリプトを生成するのは非常に簡単です。
New-ProxyCommand ls > .\myls.ps1
次に、次のように、新しく生成されmyls.ps1
たスクリプトのカスタマイズを開始できます。
出来上がり!この新しいバージョンはすべてのテストに合格しています。
c++ - スプラットopenglをテクスチャ化する最も効率的な方法は?
最大 17 のテクスチャを結合し、openGL を使用してクワッド (2 つの三角形) にレンダリングする必要があります。これらのクワッドを大量に (おそらく 500) レンダリングする必要があります。
そうするための最速/最良の方法は何だろうと思っていました:
A. 多くのパスでレンダリングする B. FBO でテクスチャを結合し、一度レンダリングする C. OpenGL マルチテクスチャを使用し、いくつかのパスでレンダリングする D. テクスチャを CPU と結合し、OpenGL テクスチャにアップロードしてからレンダリングする E. その他?
ruby-on-rails - *(アスタリスク)記号は関数の引数の近くで何をしますか?他のシナリオでそれを使用する方法は?
私はRubyonRails 3を使用していますが*
、関数の引数の近くに演算子が存在することの意味を知り、他のシナリオでの使用法を理解したいと思います。
シナリオ例(このメソッドはRuby on Rails 3フレームワークからのものです):
ruby - Ruby1.9.2-複数のスプラット引数の問題
Rubyは初めてで、メソッドで複数のsplat引数を受け入れようとしている問題に取り組んでいます。なぜコンパイルエラーが発生するのかは理解できたと思いますが、修正方法がわかりません。引数で複数のスプラットを使用する方法についてのヘルプがあれば役立ちます。よろしくお願いします。
scala - scala splat は varargs 以外のものに使用できますか?
与えられた例:
私は通常呼び出すことができます:
またはスプラットで:
しかし、splat を使用して、varargs パラメーター以外の引数を指定することはできますか? たとえば、次のようなことをしたいと思います:
それは機能しませんが、タプルであろうと他のものであろうと、単一のオブジェクトから複数の引数を提供するという同じ効果を達成する方法はありますか? タプルの長さとタイプの両方がコンパイル時にわかっている場合、これをタプルに実装できない理由はありますか?
ruby - Rubyで構文[* a..b]はどういう意味ですか?
注: GitHubの mischa のsplat には、動作中の * のクールでインタラクティブな例がたくさんあります。
グーグルで調べたところ、Ruby で数値の範囲を反復処理する 1 つの方法 (古典的な C スタイルの for ループ) が見つかりました。
このようなことをすることです
[*first..last]
しかし、その構文で正確に何が起こっているのでしょうか? 私は遊んでirb
、これを見ました:
私がオンラインで読んだものはすべて、単項アスタリスクが、メソッドに渡された引数を展開および折りたたむのに役立ち、可変長の引数リストに役立つと説明しています
それはわかりますが、上記のブロックの例で行われている拡張にどのように適用されるかわかりません。
明確にするために言うと、Ruby Way は配列またはコレクションを反復処理することであり、配列の長さを使用して整数インデックスを反復処理することではありません。ただし、この例では、実際には整数のリストを扱っています。:)
ruby - splat 演算子を使用して属性を受け入れるメソッドに配列を渡すにはどうすればよいですか?
次のような方法がある場合:
配列を数値として渡すにはどうすればよいですか?
配列を受け入れるように sum メソッドを変更できないことに注意してください。