Rubyファイルに2つのメソッドが定義されています。
def is_mandatory(string)
puts xyz
end
def is_alphabets(string)
puts abc
end
メソッドの名前を含む配列。
methods = ["is_mandatory", "is_alphabets"]
次の場合
methods.each do |method| puts method.concat("(\"abc\")") end
実際にメソッドを呼び出すのではなく、is_mandatory( "abc")is_alphabets( "abc")と表示するだけです。
文字列をメソッド名に変換するにはどうすればよいですか?どんな助けでも大歓迎です。
乾杯!!
「送信」を使用してみてください。
methods.each do |method|
self.send(method, "abc")
end
メソッドにパラメータを送信するためにハッシュを追加することもできます。
send("method_name", "abc", {add more parameters in this hash})
send
を使用した以前のソリューションはすべて問題ありませんが、代わりに public_send を使用することをお勧めします(それ以外の場合は、プライベートメソッドを呼び出すことができます)。
例:
'string'.public_send(:size)
=> 6