0
は、Rubyのは、このような方法で取ることができます:メソッド行を文字列化する方法は?
def a_few_methods
method1
method2
end
を...と、このような配列を作成しますか?
['method1', 'method2']
私は作品次のことを、やっているが、それは不格好ようだ:
class Foo
def self.method_array
%w[method1 method2]
end
def a_few_methods
self.class.method_array.each { |s| send s }
end
end
私はメソッドは、オブジェクトを継承することがわかり、私はボンネットの下に」取得する方法が表示されませんソースファイルを文字列に読み込むことを除いて、そのファイルを取得します。別の方法がありますか?
なぜローカル変数を作成してそれを完全に無視するのですか? –
@JörgW Mittagどのローカル変数?あなたは 'arr'を意味しますか?これは、Rubyではデフォルトで返されるためです。他の言語のようなメソッドで明示的なreturnキーワードを必要としません。 Rubyのもう一つの素晴らしい点は、好きなクラスを拡張できることです。これをStringクラスに追加する場合は、Foo
mutantkeyboard
しかし、あなたは決して 'arr'を使用しません。あなたはただそれを取り除くことができ、あなたのコードはまったく同じように動作し、あなたのコードの将来の読者を混乱させません。ああ、いいえ、 'String'を継承すると、' Foo'のメソッドを使用できる文字列はなく、 'Foo'オブジェクトだけが可能です。 –