`
zhizedai
  • 浏览: 16631 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

ruby 动态初始化类及调用方法

    博客分类:
  • ruby
阅读更多
class Test
  def self.test(param="default")

     puts param
  end

  def normal_test(a,b)

  puts a + b
  end

end
#class normal methods
tmp = Object.const_get("Test").new
tmp.normal_test("a","b")=> ab

#call class method
Object.const_get("Test").test("class method") => class method

#判断是否存在可调用方法

if tmp.respond_to?("normal_test")
tmp.normal_test("a","b")
end => ab

分享到:
评论
1 楼 reyesyang 2011-09-20  
面试遇到的问题,学习了。

相关推荐

    Ruby 方法、类

    在这个例子中,`initialize`是类的构造方法,用于初始化新创建的对象。`attr_accessor`是元编程的一个示例,它自动生成`name`和`age`的访问器方法。 创建类的实例(对象)使用`new`方法,如下所示: ```ruby ...

    rb代码-Ruby test 1. 类定义,对象初始化,方法调用。

    在Ruby编程语言中,类定义、对象初始化和方法调用是构建程序的基础元素。下面将详细探讨这些概念。 首先,让我们了解**类定义**。在Ruby中,类是一种蓝图,用于创建具有相同属性和行为的对象。类定义允许我们声明...

    Ruby-PyCall从Ruby语言调用Python函数

    安装完成后,你可以在Ruby脚本中引入PyCall库,并初始化Python环境: ```ruby require 'pycall' PyCall导入 ``` 一旦导入了PyCall,你就可以开始调用Python的内置函数、模块或者自定义函数。例如,调用Python的`...

    Ruby-Refrigerator冻结所有核心ruby类

    只需在初始化阶段调用库的适当方法,就可以一次性冻结所有核心类。这样可以确保在整个应用程序生命周期内,核心Ruby类的行为保持一致,避免了由于意外修改引发的错误。 在生产环境中使用"Ruby-Refrigerator"是一个...

    ruby 阳历农历转换类

    1. **初始化方法**(`initialize`):用于设置类的初始状态,比如当前的阳历日期。 ```ruby def initialize(year, month, day) @gregorian_date = Date.new(year, month, day) end ``` 2. **属性**(Attributes)...

    Ruby编程语言

     7.4对象创建和初始化241  7.5模块247  7.6加载和请求模块252  7.7单键方法和EIGENCLASS257  7.8方法查找258  7.9常量查找261  第8章反射和元编程265  8.1类型、类和模块266  8.2对字符串和块进行求值268 ...

    Ruby 语言 Ruby 是一种动态、面向对象的脚本语言,具有简洁而富有表现力的语法 以下是 Ruby 语言的一些特点: 简单

    - **初始化方法**:`initialize` 方法用于设置对象的初始状态。 - **自定义方法**:`introduce` 方法实现自我介绍的功能。 - **创建对象并调用方法**:最后通过 `Person.new` 创建对象,并调用 `introduce` 方法输出...

    ruby中文教程(源代码)

    - 构造器与初始化:Ruby中的构造器通常是`initialize`方法,用于在创建新对象时设置初始状态。 - 方法定义:Ruby允许在类定义内部以及类外部定义方法,还可以使用`def self.method_name`定义类方法。 3. **Ruby ...

    教程资源ruby

    - **对象初始化**:通过初始化方法设置新创建的对象状态。 - **重载方法**:根据参数类型或数量改变方法行为。 - **多精度整数**:支持大整数运算。 - **动态装载**:运行时加载代码。 - **线程**:支持多线程编程。...

    Ruby类实例变量、类实例方法和类变量、类方法的区别

    在Ruby语言中,类实例变量、类实例方法与类变量和类方法是构成面向对象编程模型的重要组成部分。它们各自有不同的用途和行为特性,下面详细介绍这些概念的区别以及它们的使用场景。 首先,类实例变量和类实例方法都...

    Ruby程序设计.doc

    - **初始化方法:** `initialize` 方法在创建新对象时自动调用。 - **访问器方法:** `attr_accessor` 用于定义getter和setter方法。 **3.5 类变量与类方法** - **类变量:** 在类的所有实例间共享的变量。 - **类...

    Best of Ruby Quiz

    书中可能涉及类与对象、继承、模块(mixins)的使用、方法定义与调用、以及对象的初始化和销毁。 3. **块(Blocks)和 Proc**:Ruby中的块是代码段,可以通过do..end或花括号{}来定义,Proc是块的可存储形式。书中...

    ruby语法自整理

    - `initialize`是类的构造方法,用于初始化实例变量。 - 类方法通过`def self.method_name`定义。 - 实例方法通过`def method_name`定义。 - `@`前缀的变量为实例变量,`@@`前缀的为类变量。 - 创建类对象:`f ...

    Ruby-Referral一个命令行工具用于查找过滤和排序Ruby代码的定义和引用

    变量在Ruby中分为局部变量、实例变量、类变量和全局变量,Referral能够追踪它们的使用情况,有助于识别潜在的变量冲突和未初始化的问题。 此外,Referral还提供了过滤功能,这意味着用户可以定制搜索条件,只关注...

    Ruby-DingTalkBot是阿里钉钉自定义机器人的Ruby库

    为了使用Ruby-DingTalkBot,首先需要在项目中引入库(通过Gemfile或直接添加require语句),然后初始化一个DingTalkBot实例,配置好Webhook和token,之后就可以调用发送消息的方法来与钉钉进行交互。例如: ```ruby...

    Ruby 基础语法 视频教程1

    - 在Ruby中,未初始化的变量默认为`nil`,这意味着它们没有值。 - 不同类型的变量有各自的命名空间,不会互相冲突。 3. 表达式(Expressions): - **Ruby中的每一个语句都是一个表达式**,可以产生一个值。例如...

    Ruby语言规范

    **初始化方法**:定义`initialize`方法。 7. **公共实例方法**:定义公共实例方法。 8. **保护类方法**:定义受保护的类方法。 9. **保护控制属性**:定义受保护的控制属性。 10. **保护实例方法**:定义受保护...

Global site tag (gtag.js) - Google Analytics