我有這樣的事情:在不使用eval的情況下將字符串轉換爲類名?
string = "Post"
我想字符串轉換爲一個類名文字。我使用這樣的eval轉換字符串:
eval(string) #=> Post
作爲一個javaScript開發人員,我儘量避免eval。在Ruby中有更好的方法嗎?或者是使用eval處理這個問題的首選方式?
我有這樣的事情:在不使用eval的情況下將字符串轉換爲類名?
string = "Post"
我想字符串轉換爲一個類名文字。我使用這樣的eval轉換字符串:
eval(string) #=> Post
作爲一個javaScript開發人員,我儘量避免eval。在Ruby中有更好的方法嗎?或者是使用eval處理這個問題的首選方式?
您可以嘗試
class Post
end
Object.const_get("Post")
它返回Post
類
string = "Fixnum"
clazz = Object.const_get(string)
clazz.name # => "Fixnum"
如果你在一個軌道背景下,您還可以在使用`#constantize方法字符串
clazz = string.constantize # => Fixnum
constantize是最好的比別人 – vajapravin
你在紅寶石軌道上嗎? – xlembouras
平原紅寶石。我知道,Ruby on Rails有一個方法,這個http://stackoverflow.com/questions/3464007/ruby-convert-class-name-in-string-to-actual-class – Stratus3D