問題タブ [arity]
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.
vector - m-ary ベクトルとは
私はスレッドに関する講義を見ていますが、彼らは次のように用語を使用してm-ary vector
います:
これは何ですか?アリティは長さですか?ベクトルは配列のような単なるシーケンシャルなデータ構造だと思いますか? なぜこの文字m
が使われるのでしょうか - 私はこれまで見n-ary
たことがありません。
java - Java リフレクションで可変アリティ メソッドを呼び出しますか?
Java リフレクションを使用して可変アリティ メソッドを呼び出すと何が起こっているのかを理解したいと思います。簡単な方法があるとしましょう:
そして動的に呼び出したいので、リフレクションを通してメソッドを取得します:
そして配列を渡します:
さて、これは私の直感が理解したようにはうまくいかないようです。特に、IllegalArgumentException
このように varargs を使用してメソッドを呼び出そうとすると、さまざまな色合いが得られるようです。
ここには明らかに欠けているものがあります。私の推測では、これは変数が varargs にマーシャリングされる方法に何らかの形で関連しています。同じ問題について話しているように見えるこの 4 年前のブログ投稿を見つけましたが、そこで「成功した」ケースを再現できません。ここで何が起こっているのかについて何か考えはありますか?
function - 関数のアリティを制御する
私はこの質問への答えを読んでいました:Haskell:間の違い。(ドット)と$(ドル記号)そして、返事は私を奇妙に感じました...彼+
は何を入力していないのですか?そして、私は試しました:
おっと...悲しいニュース。しかし、誰かがa-> b-> c ...-> zの方法でそれらを定義したと信じるために、一見恣意的または非常に多くの引数を取ることができる関数を見たと確信しています。それを処理する方法が必要です!私が探しているのは、CLの&restまたは&optionalのようなものです。
map - アーランマップ関数
私はErlangに慣れていないので、私の素朴さを許してください。
他の言語で書いた関数を書き直そうとしています。それらの 1 つは jaccard ビット インデックスです。
python haskell と clojure では、次のように動作します。
私の問題は、私がErlangのことしか知らないことだと思います
map(Fun, List1) -> List2
そして、次のようなものを使用する前にそれを行うたびに:
map(Fun, List1, List2) -> List3
clojure - clojureは混合アリティ関数のチェーンを評価し、必要に応じて部分関数を返すことができますか?
以下のように、アリティ1、2、3の3つの関数があるとします。
clojureには、以下を評価するための評価関数またはイディオムがありますか?
アリティ2のparital関数を返しますか?
上記の単純な関数定義を取得して、部分的な結果を返すことができるマルチアリティ関数に拡張できるマクロを作成することを検討しています。これを実現するための組み込みの方法または慣用的な方法がすでにある場合は、マクロを作成したくありません。
上記の関数に対して展開されたマクロが必要とするものは次のとおりです。
haskell - arity-nの機能は、カリー化による実際には単なるnカテゴリですか?それらを1つのカテゴリにすることはできますか?
この質問には、実際に質問する前に長い前置きがあります:)
タイプAとタイプBがカテゴリを表し、次に関数を表すとします。
f :: B-> A
2つのカテゴリ間の射です。次のように、AとBをオブジェクトとして、fを矢印として新しいカテゴリを作成できます。
それでは、新しいカテゴリCと関数gを紹介しましょう。
g :: C-> B-> A
上記のカテゴリにCとgを追加できるようにしたいのですが、その方法がわかりません。直感的には、次のようなものが必要です。
しかし、私はこれまでカテゴリー図でそのようなものを見たことがありません。このコーシャを作成するには、ダミーの矢印g'を導入して、次のような2つのカテゴリを作成します。
しかし、それは鈍い絵のようです。(もちろん、上に描いた絵を適切なものの省略形として使用することもできます。)また、gとg'が何であるかはもう正確にはわかりません。gは、カテゴリCを入力として受け取り、射を返す関数ではなくなりました:: B-> A.代わりに、
g'::(C-> C)
g ::(C-> C)->(B-> A)
アイデンティティを渡すと、すべてが正常に機能します。しかし、他の関数を渡すと、何が起こるか誰が知っているでしょうか。
だから私の質問は:n-カテゴリー内のn-矢印は本当に私たちがアリティnを持つ関数について考える方法ですか?または、この関数を、私が見逃した標準のカテゴリに分類する簡単な方法はありますか?
clojure - clojureのプロキシでマルチアリティメソッドをオーバーライドする
私は、同じであるが異なるアリティを持つ2つのメソッドを持つJavaクラスを持っています(1つは引数をとらず、もう1つは1つの引数を取ります)。この両方のメソッドをオーバーライドするプロキシを作成します。問題は、このjavaクラスからno-argメソッドが呼び出された場合、プロキシの代わりに基本実装が呼び出されることです。しかし、objで直接no-argメソッドを呼び出すと、正しいプロキシメソッドが呼び出されます。誰かがこの振る舞いを説明できますか?
Test.java:
run.clj:
出力:
期待される出力:
ruby - method_missing で委任されたメソッドのアリティ
クラスのインスタンスのメソッドを以下のように委譲するA
と$delegation_target
:
のメソッドの に関係なく、 return のarity
インスタンスのメソッドA
の:-1
arity
$delegation_target
これはどこ-1
から来たのですか?そして、可能なメソッド namem
に対して、(定義されている場合)A.new.method(m).arity
のアリティを返すようにする方法はありますか?$delegation_target.method(m)
wolfram-mathematica - Mathematica のネストされた無名変数アリティ関数
次のスキーム コードを Mathematica に変換しようとしています (問題がある場合はバージョン 8)。
次に、次のようなことができます。
パーツ(add (square sin) (square cos))
は関数を作成しますx -> sin^2(x) + cos^2(x)
。
とにかく、Mathematica でこれをコーディングしようとしましたが、あまりうまくいかないようです。書きたいことは次のとおりです。
私は、それぞれの関数へのすべての引数のリストにバインドしたいfs__
と考えています。args__
しかし、Mathematica は、 の「パラメータ仕様」はFunction
「シンボルまたはシンボルのリスト」であるべきだと文句を言います。()&
スタイル無名関数を使用してすべての引数を取得できることはわかってい##
ますが、問題は、これらの無名関数を 2 つ入れ子にすると、内部関数内から外部引数にアクセスできなくなることです。
可変アリティ (および名前付き引数) を持つ無名関数を作成するにはどうすればよいですか? または、Mathematica でこの問題を別の方法で解決する必要がありますか?
javascript - strictモードでの無名関数のアリティをどのように見つけますか?
jQueryプラグインのパターンに従って、 apply()を使用してスコープを定義し、これに適用methods.myfunc
した場合、関数、たとえば関数のアリティをどのように見つけることができますか?this
arguments
これは、関数スコープに関する私の無知の一部を明らかにするかもしれませんが、私はここでかなり困惑しており、これを十分に説明する例を見つけていません。
この質問に対する私のインスピレーションの一部は、NodeJS / ExpressJSから来ています。ここでは、いくつかの関数に対して可変数の引数があります。たとえば、3つの引数が渡された場合、エラーオブジェクトがあると想定されますが、2つを渡すことも簡単にでき、問題はありません。
更新:コードの関数をinitからmyfuncに変更しました