問題タブ [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 投票する
1 に答える
519 参照

ruby - Ruby での method_missing の可視性

method_missingObject.private_methodsではなく に表示されObject.public_methodsます。

ただし、呼び出すとObject.method_missing :stupidmethod

私は得ることを期待します

Object他のプライベートメソッドを呼び出そうとすると、それが得られるからObject.chopです。

より多くの証拠としてObject.method_missing、引数なしで呼び出すと、

そのため、オブジェクトの外部からその「プライベート」関数を実際に呼び出しているようです。method_missingこれを説明できますか?


編集: コメントで Eugene に感謝します。 ruby --version1.8.7を教えてくれます。また、irb --version0.9.5(05/04/13)です。これが後のバージョンで期待どおりに動作することを知っておくとよいでしょう。

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

ruby-on-rails - 'method_missing': 未定義のローカル変数またはメソッド 'has_ancestry'

ネストされたコメント用に Ancestry gem をセットアップする方法については、このチュートリアル ( http://www.tweetegy.com/2013/04/create-nested-comments-in-rails-using-ancestry-gem/ ) に従っています。通常の Rails アプリでチュートリアルを実行すると、問題なく動作します。私の問題は、コメントシステムをエンジンに分離しようとしたときに発生します。私が持っているモデルは次のとおりです。

エンジン内

メインアプリで

削除するhas_ancestryと、コメントに問題なくアクセスできます。最初のアプリと同じようにチュートリアルに従いましたが、何らかの理由でこのアプリで Article.first.comments を実行すると、メソッドが見つからないというエラーが発生します。サポートのためにさらに情報を含める必要がある場合はお知らせください。ありがとうございました。

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

syntax - Ruby の method_missing を Lua で複製することは可能ですか?

__indexLua では、特定のメタテーブルの、__newindex、およびを使用して、 __callRuby の を大まかに複製できると確信していますmethod_missing。そして、私は多少持っています:

私の問題は次のとおりです。構文は似ており、機能を複製するために使用できますが、破壊エラーが発生します。インデックス関数から実際の呼び出しへの潜在的な呼び出しのmethod_missingために呼び出すことができるオブジェクトを返す必要があるため、適用するテーブルのコンテキストで使用するすべての変数は決して nil ではありません。pass the buck

つまり、上記のようにグローバルな method_missing を定義した後、未定義のメソッド 'test_print' を呼び出そうとすると、期待どおりに実行されますが、インデックスが作成されたときの test_print の値は非 nil であり、応答されない他のメソッド/変数this_should_be_nilは非 nil です。 .

では、この落とし穴を回避することは可能でしょうか? または、言語ソース自体を変更せずに、この変更をサポートするために構文を曲げることはできませんか? Ruby ではインデックス作成と呼び出しが類似しているのに対し、Lua ではそれらが異なるという点で困難が生じると思います。

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

ruby - Rubyのmethod_missingで&blockを実行する

ブロックとmethod_missingRubyクラスでの使用について学び始めたばかりで、一般的な式が

私の質問は&block、出力で実行できるかどうかです。例えば:

ブロックが新しい配列を返すようにこれを機能させる方法はありますか?

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

ruby-on-rails - Rails メソッドが見つかりません - 「else」ケースのバックトレースを取得するにはどうすればよいですか?

別のクラスのインスタンスであるインスタンス変数を参照するモデルがあります。次のように、不足しているメソッドをその変数に委任したいと思います。

ただし、@other_class_instance が応答しない場合は、アプリを終了して、通常の NoMethodError と同じように完全なバックトレースを取得したいと考えています。代わりに、次のような 1 行のエラー メッセージが表示されます。

super がないと、Ruby のメソッド ルックアップが台無しになるということをいくつかの場所で読みました。

other_class_instanceメソッドに応答しない場合、method_missingメソッドが作成されていないかのように動作するように、何が欠けていますか?

アップデート

ローガンの答えは、 OtherInstance クラスにもmethod_missing定義されていないという条件の下で、この問題を処理します。その場合 (たとえば、Rails モデルの場合)、次のようなことができます。

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

java - 特定のクラスに一致するjarファイルを見つける方法

クラス「org.apache.xerces.impl.XMLDocumentFragmentScannerImpl」が見つからないというエラーが発生しました。これは新しいプロジェクトのセットアップであり、依存関係を管理するためにmavenやその他のツールを使用していません。いくつかのjarを含めるのを忘れたと思います.XMLDocumentFragmentScannerImplを所有しているjarを見つける方法は?