我看元编程一书在 4.5 节介绍了可调用对象,对书里的有些描述感到有些困惑。
1、Proc 对象产生的方式有几种
书上说已经介绍了四种,但是我怎么只看到了三种:使用Proc.new 一种,lambda 一种,->lambda 操作符一种,所以 Proc 对象到底有几种产生方式
2、&操作符
&操作符的作用到底是将 Proc 对象转为代码块使用,还是将代码块转为 Proc 对象使用
我有点搞懵了,有大佬能指点我一下么?
茴香豆的四种写法
Proc.new { |x| x + 1 } proc { |x| x + 1 } lambda { |x| x + 1 } ->(x) { x + 1 }
给你一个 chatgpt 的解释
操作符在參數列表和在函數體裏意義不同應該是 c 以來的傳統藝能,c 的*在參數就是聲明指針,在函數體就是取值,同理 ruby 的&在參數裏是聲明 block,在函數體是轉換成 block
我明白了,谢谢大佬们的解答
牛的,我都忘记还有 chatgpt 可以问了