class Testirb( ... Ruby中文社区论坛 Ruby中文社区提供Ruby,ruby on rails等相关技术的讨论和资源下载,讨论Ruby语言,提供Ruby教程,学习资料,电子书籍,培训教材,视频教程等下载。 - Discuz! Archiver" />

查看完整版本: Ruby小知识点

blackanger 2007-8-15 19:14

Ruby小知识点

如果我有classname = "SomeClass"时,如何生成SomeClass类的实例呢?主要有两个解决方法。

1. eval(classname).new
因为所有的类都是常量
2. Object.const_get(classname).new

[code]
irb(main):013:0> class Test
irb(main):014:1> end
=> nil
irb(main):015:0> Object.const_get("Test").new
=> #<Test:0xb7d81e24>

[/code]

admin 2007-8-15 23:40

[code]
eval('String.new').class
[/code]

yudi 2007-8-16 09:11

nice trick!

antares_sco 2008-2-18 16:13

SomeClass.new 怎么样
页: [1]
查看完整版本: Ruby小知识点