把一個字符串當作一個類來使用,如:字符串 “User”扯旷,根據這個字符串調用 類 User下的方法拯爽。
有兩種方法:
1.使用rails的 constantize方法。
代碼如下:
pry(main)> 'User'.constantize
=> User
pry(main)> "Test::Unit".constantize
=> Test::Unit
2.使用rubyObject.const_get(“String”)钧忽。
代碼如下:
pry(main)> Object::const_get('User')
=> User
pry(main)> module First
pry(main)*?? class Sec
pry(main)*?? end
pry(main)* end
=> nil
pry(main)> 'First::Sec'.split('::').inject(Object) {|o,c| o.const_get c}
=> First::Sec