[解決済み] Rubyでメソッド名を持つ文字列からメソッドを呼び出す
2022-04-22 13:53:27
質問
どうすれば、彼らが言っているようなことができるのでしょうか? こちら しかし、Rubyで?
オブジェクトに対する関数はどのように行うのでしょうか?また、グローバルな関数はどのように行うのでしょう(jetxeeさんの 答え の投稿にあります)?
サンプルコードです。
event_name = "load"
def load()
puts "load() function was executed."
end
def row_changed()
puts "row_changed() function was executed."
end
#something here to see that event_name = "load" and run load()
UPDATEです。 グローバルメソッドや私のグローバル関数にはどのようにアクセスするのですか?
私はこの追加行を試してみました
puts methods
で、load と row_change はリストされていない。
解決方法は?
オブジェクトに直接関数を呼び出すには
a = [2, 2, 3]
a.send("length")
# or
a.public_send("length")
で、期待通り 3 を返します。
またはモジュール関数の場合
FileUtils.send('pwd')
# or
FileUtils.public_send(:pwd)
とローカルに定義されたメソッド
def load()
puts "load() function was executed."
end
send('load')
# or
public_send('load')
ドキュメンテーションです。
関連
-
[解決済み] Rubyでランダムな文字列を生成する方法
-
[解決済み] Rubyで指定されたディレクトリが存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Rubyのmap(&:name)ってどういう意味?
-
[解決済み] ルビーです。インスタンスからクラスメソッドを呼び出す
-
[解決済み】Rubyモジュールをインクルードせずに、そのインスタンスメソッドを呼び出すことはできますか?
-
[解決済み】RubyにあってPythonにないもの、またその逆は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】そのようなファイルやディレクトリはありません @ rb_sysopen ruby
-
[解決済み] ルビーオールウェイズ ラウンドアップ
-
[解決済み] Rubyのフィボナッチ数列(再帰)
-
[解決済み] RMagickのインストール。MagickWand.hが見当たりません。
-
[解決済み] Ruby on railsで改行せずにコンソールに "puts "を使用するにはどうすればよいですか?
-
[解決済み] Rubyで配列を降順にソートする方法
-
[解決済み] あなたが提供した認証メカニズムはサポートされていません。AWS4-HMAC-SHA256を使用してください。
-
[解決済み] ルビースリープやディレイは1秒以下?
-
[解決済み] Ruby 1.8.7 ハッシュを文字列に変換する
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。