問題タブ [method-missing]

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

programming-languages - 他の言語で Ruby の method_missing に相当するものはありますか?

Ruby では、オブジェクトには、method_missing(明示的に) 定義されていないメソッドのメソッド呼び出しを処理できる便利なメソッド called があります。

obj が処理できないメッセージを送信されたときに、Ruby によって呼び出されます。symbol は呼び出されたメソッドのシンボルで、args はそれに渡された任意の引数です。デフォルトでは、このメソッドが呼び出されると、インタープリターはエラーを発生させます。ただし、メソッドをオーバーライドして、より動的な動作を提供することは可能です。以下の例では、ローマ数字で構成される名前のメソッドに応答して、対応する整数値を返すクラス Roman を作成します。

たとえば、Ruby on Rails はこれを使用して、 などのメソッドの呼び出しを許可しますfind_by_my_column_name

私の質問は、他にどの言語が に相当するものをサポートしているmethod_missingか、そしてコードに同等のものをどのように実装しているのかということです。

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

ruby-on-rails - method_missingなしでRailsでSEOフレンドリーなURLを取得しますか?

現在、変数の考えられるすべての値に対してアクションを作成するのではなく、method_missingを使用してコントローラーでSEOに適したアクションの呼び出しをキャッチしています。必要なのは次のようなURLです。

/ student / BobSmith

/ student / show/342ではありません

method_missingよりもクリーンな解決策はありますか?

ありがとうございました!

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

scala - scalaにmethod_missingはありますか?

Rubyのものに似ています

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

ruby-on-rails - `is_x?` を `has_role? にエイリアシングするのが難しい x`

各ユーザーには多くの役割があります。ユーザーが「管理者」ロールを持っているかどうかを確認するには、次のhas_role?メソッドを使用できます。

some_user.has_role?('admin')

これは次のように定義されています。

some_user.has_role?('admin')のように書けるようにしたいsome_user.is_admin?ので、次のようにしました。

このsome_user.is_admin?場合は問題なく動作しますが、別の関連付けで参照されているユーザーで呼び出そうとすると失敗します。

何を与える?

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

powershell - powershell には method_missing() がありますか?

私はpowershellの動的機能をいじっていましたが、何か疑問に思っていました

オブジェクトの存在しないメソッドへの呼び出しを動的に処理するために「すべてのメソッドをキャッチ」を設定できる、Ruby の method_missing() に類似したものは powershell にありますか?

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

php - PHPのグローバルな「method_missing」?

重複の可能性:
Magic functions __call() for functions?

__call() を実装して、PHP クラスで method_missing 動作を提供できます。グローバルスコープで同じ機能を提供する方法はありますか?

私はこのようなものが欲しい:

出力:

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

ruby - Ruby、Date.day_fraction_to_timeから時、秒、時間を取得

この方法はこちらで見つけました。

次のエラーがあります。

/usr/lib/ruby/1.9.1/date.rbを確認したところ、次のことがわかりました。

でも ruby​​1.8 で動かせば問題ない。/usr/lib/ruby/1.8/date.rbは私に与えます:

だから私はドキュメンテーション(1.9)を見に行きましたが、この方法の痕跡はありません。ばかげた質問だとは思いますが、なぜ彼らはそれを削除したのですか? /usr/lib/ruby/1.9.1/date.rbには、メソッドの使用方法に関する次の例もあります。

しかし、私はまだエラーが発生しています:

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

ruby - Ruby:method_missingでメソッドタイプを見つける最良の方法は何ですか?

現時点で私はこのコードを持っています:

しかし、それは最善の解決策ではないようです= \

それをより良くする方法はありますか?ありがとう。

0 投票する
5 に答える
828 参照

ruby - 静的に型付けされた言語がRubyのmethod_missingのようなものを持つことを妨げるものは何ですか?

私は静的に型付けされた言語(現在Scalaを学び、それを愛している!)の経験はあまりありませんが、Rubyのmethod_missingやColdFusionのonMissingMethodのようなものがないように見えることに気づきました。静的に型付けされた言語には、これを防止または困難にする固有の制限がありますか?

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

ruby-on-rails - method_missing の複数の引数

モデルに次のmethod_missingコードを実装しています。

$CLIENTグローバルオブジェクトです。これはインスタンスではなく、クラスmethod_missingに対するものであることに注意してください。

スクリプト/コンソールで次のことを試しました:

ここで私が見逃している痛ましいほど明白なものはありますか? Rails 2.3.8とjRubyでこれを実行していますが、それが違いを生む場合。

編集:これは私をさらに混乱させます:

2 番目の引数を Integer 以外のものに置き換えるとうまくいくように見えますが、もちろん引数は Integer である必要があります... jRuby またはこれに統合した Java クラスのいずれかに問題があるのではないかと疑っています。