美文网首页
Ruby 方法的调用

Ruby 方法的调用

作者: changsanjiang | 来源:发表于2017-10-20 00:00 被阅读6次

方法是有对象定义的与该对象相关的操作. 在 Ruby 中, 对象的所有操作都被封装成方法.

简单的方法调用

调用方法的语法如下:

对象.方法名(参数1, 参数2, ..., 参数n)

如上, 以对象开头, 中间隔着., 后面接着方法名, 方法名后面是一排参数. 不同的方法定义的参数个数和顺序也都不一样, 调用方法时, 必须按照定义来指定参数. 另外, 调用方法时()是可以省略的.

上面的对象被称为接收者(receiver). 在面向对象的世界中, 调用方法被称为"向对象发送消息(message)", 调用的结果就是"对象接受(receive)了消息". 也就是说, 方法的调用就是把几个参数连同消息一起发送给对象的过程.


带块的方法调用

正如each方法, loop方法那样, 方法本身可以与块一起调用, 这种调用称为带块的方法调用.
带块的方法调用的语法如下:

对象.方法名(参数, ...) do |变量1, 变量2, ...|
  块内容
end

do ~ end 部分就是所谓的块. 除 do ~ end 这一形式外, 我们也可以使用 { ~ } 这种形式.

对象.方法名(参数, ...) { |变量1, 变量2, ...| 
  块内容
}

如上在块的开头的|~|部分中指定的变量称为块变量. 在执行块的时候, 块变量由方法传递到块内部. 不同的方法对应的块变量的个数, 值也都不一样. 之前的times方法有一个块变量, 执行块时, 方法会从0开始依次把循环次数赋值给块变量.

100.times do |var|
  puts var
end

运算符形式的方法调用

以下形式实际上都是方法

  • obj + arg1
  • obj =~ arg1
  • -obj
  • !obj
  • obj[arg1]
  • obj[arg1] = arg2

这些虽然与一般的方法调用的语法有点不一样, 但我们可以将obj理解为接收者, 将 arg1, arg2 理解为参数.

相关文章

  • 常用的Ruby方法

    1 当你发送消息到Ruby对象时,Ruby查询与消息同名的方法来调用。Ruby进行方法调用主要有两种方式,obj...

  • From Objective-C to Ruby(3)-方法和块

    方法 定义方法 OC: ruby: 调用方法 OC: ruby: 参数的默认值 OC: 方法的返回值 OC: ru...

  • Ruby 方法的调用

    方法是有对象定义的与该对象相关的操作. 在 Ruby 中, 对象的所有操作都被封装成方法. 简单的方法调用 调用方...

  • ruby 方法的调用

    1、调用的方式 对象.方法名(参数1,参数2, ... ,参数n) 以对象开头,中间隔着句点,后面接着是方法名,方...

  • 我眼中的元编程-方法篇

    Ruby是一门动态语言,动态创建与调用方法是其中一个体现。 动态方法 动态调用方法(动态派发) 动态调用方法,是指...

  • Ruby元编程笔记 - 方法

    Dynamic Method 通过send()去动态调用方法: 在Ruby2.2.2中,send()依然可以调用私...

  • ruby元编程(附录)

    拟态方法 拟态方法就是去掉括号调用方法的方式,会给ruby开发者带来很多语法糖,当然也会给开发者和ruby本身增加...

  • ruby中方法的调用——方法查找

    调用方法时,ruby会做两件事: 1、找到这个方法,这个过程称为方法查找 2、执行这个方法, 当前对象由self充...

  • Ruby边学边记(二)

    Ruby边学边记(二) Ruby模块 模块在Ruby里面有两个作用 把功能相同的方法放在同一个名称之下 方便调用方...

  • 学习大纲

    1.你可能觉得你已经完全掌握了Ruby 学会了Ruby各种语法(各种数据结构、创建类、创建对象、调用方法、.......

网友评论

      本文标题:Ruby 方法的调用

      本文链接:https://www.haomeiwen.com/subject/ddnpuxtx.html