問題タブ [rust-macros]

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 投票する
1 に答える
261 参照

rust - 関数に引数を n 回渡す

私は Rust でさまざまなパターンを試しており、署名が似ているが引数の数が異なるいくつかの関数の 1 つを動的に呼び出したいと考えていました。例えば:

これらのメソッドにすべてのパラメーターの値を渡して、それらを交換可能に呼び出すこと5ができるようにしたいと考えています。foo(5)bar(5, 5)baz(5, 5, 5)

これは、マクロまたはその他の構文拡張によって行うのが最善のようですが、それを表現する最良の方法はわかりません。私がこれまでに持っているのは、ケースの単なる力ずくの列挙ですが、これは面倒 (すべてのケースで同じ式を書き直すこと) と脆弱 (n+1 個の引数をサポートしていない) の両方のようです。

似ているように見えるこのパターンに出くわしましたが、それでも各ケースを個別に列挙する必要があります。

fn(X, ...)厳密に 1 つを取る関数として aをより柔軟にラップできるより良いアプローチはありXますか?

遊び場の例

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

rust - Rust マクロの同じ変数に対する異なるセパレータ

次のようなパターンに一致させたい:

すべての数値に対して同じコードが生成されますが、セミコロンがある場合は追加のコードを実行したいと思います。このようなパターンはありえますか?

私はもう試した:

しかし、右側でそれを機能させることができないようです。