`

ruby动态new对象

阅读更多

来自railscn的讨论:

http://www.railscn.com/viewtopic.php?t=2289

 

1 . eval   " obj = #{str}.new "     # 只能在irb中使用
2 . obj  =   eval   " obj = #{str}.new "  
3 . obj  =   eval (str) . new
4 . =  Object . const_get( " Array "
  s 
=  c . new

 

相比于java的class.forName,与javascript等脚本语言一致,更为简单和轻量级 

分享到:
评论

相关推荐

    simple_objects:Ruby 的简单对象

    Ruby 的简单对象 安装 将此行添加到应用程序的 Gemfile 中: gem 'simple_objects' 并要求它: require 'simple_objects' 用法 class SuperHero include SimpleObjects :: Base attribute :name , required...

    Ruby学习笔记

    对象模型比起JavaScript好的不是一点两点,clone关键字真是为原型式编程量身打造的,new就显得不伦不类了,尤其是我从Java开始的。恩,废话就少提,下面我学习Ruby的各个部分。其中Ruby风格这一部分是开放的,因为我...

    midi-message:Ruby MIDI消息对象

    MIDI讯息 Ruby MIDI消息对象产品特点灵活的API,可容纳MIDI数据的各种来源和目的地系统专有数据和设备的简单方法安装gem install midi-message 或者,如果您使用的是Bundler,请将其添加到Gemfile中gem "midi-...

    Ruby的面向对象方式编程学习杂记

    可以重新打开已经存在的类并对之进行动态修改,即使像String或者Array这样标准库的类也不例外。这种行为方式称之为打开类(open class) 猴子补丁 如果你粗心地为某个类添加了新功能,同时覆盖了类原来的功能,进而...

    better-initialize:一种更好的 ruby​​ 对象初始化方法

    一种更友好、无依赖的 ruby​​ 对象初始化方法。 用法 宝石档案: gem 'better-initialize', github: 'huned/better-initialize' 代码: require 'better_initialize' class Pizza include BetterInitialize ...

    obuf:Ruby磁盘对象缓冲区

    一个简单的Ruby对象缓冲区。 如果您需要临时存储大量可序列化的Ruby对象,请使用此选项。 obuf = Obuf.new 5_000_000.times{ obuf.push(compute_some_object) } # no memory inflation obuf.each do | stored_...

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    使用ruby解析awdb离线库

    4. 创建一个GeoIP2数据库对象,并加载AWDB离线库文件:`db = GeoIP2::Database.new('path/to/awdb.mmdb')`。 5. 使用数据库对象查询IP地址的地理位置信息:`result = db.lookup('192.0.2.1')`。 6. 从查询结果中获取...

    Ruby 魔法 学习笔记之一

    一、向对象显示的发送消息 我们可以向对象直接发送消息: Ruby代码 代码如下:class HelloWorld def say(name) print “Hello, “, name end end hw = HelloWorld.new hw.send(:say,”world”) 我们通常使用hw.say(...

    ruby-deepclone:本机Ruby深度克隆实现

    地位系统地位特拉维斯 宝石版 代码Climante描述该gem提供了本机实现,可以深度克隆Ruby对象。 它支持Ruby 1.9.3、2.2.x,2.3.x和2.4.x。安装 gem install ruby_deep_clone或将其添加到您的Gemfile gem 'ruby_deep_...

    ruby基础教程(第四版)第20章 Time类与Date类1

    作者 bluetea网站:https://github.com/bluetea通过Time.new 或者Time.now来获得当前时间的对象当你获取一个Time

    Ruby中的Range对象学习笔记

    Range是范围对象的类,定义的时候可以使用范围操作符“..”或者“…”,“..”生成的范围对象包括起点和终点,“…”生成的范围对象不包括起点和终点,范围是由是一序列有顺序、有规律的元素对象组成,任何有顺序,...

    connection_pool:Ruby的通用连接池

    用法创建一个对象池以在Ruby应用程序中的光纤或线程之间共享: $memcached = ConnectionPool . new ( size : 5 , timeout : 5 ) { Dalli :: Client . new } 然后在您的应用程序中使用该池: $memcached . with do | ...

    Ruby数组(Array)学习笔记

    Ruby中的数组是动态数组,存储的数据不用限定类型,数组的长度是根据存储需要动态扩展,所以,在进行数据定义的时候,只用用最简单的方式new一个Array对象就可以了,可以使用以下几种方式: 代码如下: arr1=[] #最...

    microevent.rb:Ruby 对象的事件(又名具有发布-订阅功能的对象,又名观察者模式)

    MicroEvent.rb 是一个事件发射器库,它为 Ruby 对象提供观察者模式。 它的灵感来自 ,用不到。 设置 添加到您的Gemfile gem 'microevent' 或将复制到您的项目中。 如何使用它 假设您有一个类Klass ,并且您希望...

    orm映射数据库到Ruby对象实验室v-000

    ORM将数据库行映射到Ruby对象目标编写将数据库行转换为Ruby对象的方法编写允许您搜索数据库的方法概述我们将继续建立我们应用程序的Student类。 我们正在构建一个应用程序,以帮助公立学校的管理员跟踪学生。 在这个...

    orm映射数据库到Ruby对象实验室休斯敦网站091619

    ORM将数据库行映射到Ruby对象目标编写将数据库行转换为Ruby对象的方法编写允许您搜索数据库的方法概述我们将继续建立我们应用程序的Student类。 我们正在构建一个应用程序,以帮助公立学校的管理员跟踪学生。 在这个...

    parametric:Ruby应用程序的声明式输入模式

    在Ruby对象中声明性地定义数据模式,并使用它们将白名单,验证或转换为程序的输入。 对于构建自定义API,搜索或表单对象很有用。 或者可以替代Rails的强参数(它不依赖于Rails,可以独立使用)。 架构图 定义架构 ...

    ruby-tuples:从函数式编程中了解元组的Ruby实现

    从函数式编程已知的元组的Ruby实现。 元组将固定数量的项目组合在一起,以便它们可以作为整体传递。 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。 安装 将此行添加到您的应用程序的...

Global site tag (gtag.js) - Google Analytics