ruby燕子书 学习个人小结

不在任何模块和类里的方法,为Object 类的私有方法,也可理解为全局函数。
对象.走路走到哪? =〉 状态机
字面量 -〉 可直接出现在源代码里(所有)的值。
% 百分号 -〉 格式化
Ruby 中表达式和语句没有清晰的界限。
作为修饰符的 if , 目前我只看到 ruby 有。
case ... when .. else begin ... rescue ... end
内置数据类型 -〉 经典数据结构
这么多迭代器 -〉 作用‘拒绝 for 语句’
方法 (通常需要有一个接收者对象)
Ruby 可返回多个值(好吧,实际上被隐式封装成了数组)
定义方法时,在某个参数放上 * , 则这个参数表示一个数组。
有多参数必须是哈希(如裸哈希)
Memoization 是函数式编程的术语,表示缓存函数调用的结果。

yield 和 &block =〉 代码块(一律翻译为‘引用’)

代码块有名字为方法;无名字为 proc 或 lambda (行为更新函数而非方法,闭包)
此处的闭包是:它们会保持定义时所在范围内的局部变量 (即使调用时存在同名变量)

proc
定义时,为了实现方法体里面定义新的方法。 (此处有了新的理解,但个人很懒,不想更新了)

def a_block(a, b, c)  
  do_some_thing  
  yield (a, b, c)  
end  

调用时,有一参数本身就是方法,而且该方法在此之前并不存在。
a_block(a, b, c){ |x| some_thing(x) }

lambda
定义时,为了实现方法体里面定义新的方法。并且该方法就是 lambda 方法
调用时,是透明的,和普通方法无二。

UPDATE: 最近有点懒,一些掌握的知识就不想敲出来了。。。。

转载于:https://my.oschina.net/kelby/blog/193137

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值