ruby - 如何将字符串转换为方法调用?

标签 ruby

<分区>

如何使用字符串作为方法调用?

"Some Word".class   #=> String
a = "class"
"Some World".a      #=> undefined method 'a'
"Some World"."#{a}" #=>  syntax error, unexpected tSTRING_BEG

最佳答案

Object#send

>> a = "class"
>> "foo".send(a)
=> String

>> a = "reverse"
>> "foo".send(a)
=> "oof"

>> a = "something"
>> "foo".send(a)
NoMethodError: undefined method `something' for "foo":String

关于ruby - 如何将字符串转换为方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317298/

相关文章:

Ruby 无法识别正则表达式的 g 标志

ruby-on-rails - 如何使用不唯一的 "association_type"和 "association_id"在 Rails 中索引多态表

ruby - 查找特定哈希在 Ruby 中使用的字节数

ruby-on-rails - 如果其中一个数据库更新失败,rails db 事务不会回滚

ruby-on-rails - sunspot_rails gem - "Errno::ECONNREFUSED (Connection refused - connect (2)) "

ruby - "class A; class B"和 "class A::B"之间的区别

ruby - 是否可以在方法中包含方法?

javascript - 作为 JSON 对象数组的 Rails 字段?

Ruby - rails - 减去日期时间

ruby - 在不杀死父级的情况下退出子shell中的ruby