1

変数を介して演算子/メソッドにアクセスするにはどうすればよいですか?

したがって、これの代わりに:

c = Computer.new
c.computer_name = "bla"
c.operating_system = "Windows XP"
c.user_name = "joesmith"
c.save

(その他多数)

ハッシュを使用して値を動的に割り当てたい:

c = Computer.new
params.each do |key,val|
    c."#{key}" = val.to_s
end
c.save

また、ここでの正しい用語は何ですか?

4

2 に答える 2

1

私はそれを試しませんでしたが、うまくいくComputer.new paramsはずです。ただし、大量割り当て
には注意してください(DataMapper に固有のものではありません)。

于 2012-05-24T23:12:15.727 に答える
0

簡単な方法の 1 つ (DataMapper 固有ではありませんが、prop_name=メソッドを想定しています) は、次を使用することsendです。

c.send("#{key}=".to_sym, val.to_s)
于 2012-05-24T23:11:51.640 に答える