proc-object相关内容

Ruby - lambda 与 Proc.new

可能重复: proc和lambda有什么区别红宝石? 当运行这个 Ruby 代码时: def func_oneproc_new = Proc.new {返回“123"}proc_new.call返回“456"结尾def func_twolambda_new = lambda {返回“123"}lambda_new.call返回“456"结尾puts "运行 func_one 的结果是 " ..
发布时间:2022-01-19 15:07:09 其他开发

为什么显式返回会对 Proc 产生影响?

def foof = Proc.new { return "从 foo 从 proc 内部返回" }f.call # 控制将 foo 留在这里return "从 foo 返回"结尾定义栏b = Proc.new {“从 proc 内部的 bar 返回"}b.call # 控制在此处离开栏return "从酒吧返回"结尾puts foo # prints "return from foo from ..
发布时间:2022-01-19 14:45:16 其他开发

在 Ruby 块中使用“返回"

我正在尝试将 Ruby 1.9.1 用于嵌入式脚本语言,以便将“最终用户"代码写入 Ruby 块中.与此有关的一个问题是,我希望用户能够在块中使用“return"关键字,因此他们无需担心隐式返回值.考虑到这一点,这就是我希望能够做的事情: def thing(*args, &block)值 = 块.调用把“价值=#{价值}"结尾事物 {返回 6 * 7} 如果我在上面的例子中使用'return ..
发布时间:2021-12-03 10:05:17 其他开发

为什么 ruby​​ 中的 break 语句在使用 Proc.new 与 & 符号时表现不同?

块的 break 语句(根据 虽然以下代码不会抛出 LocalJumpError.&符号有什么特别之处?&符号不是隐式使用 Proc.new 吗? def iterator(&proc)puts “进入迭代器"proc.call # 调用procputs "exiting iterator" # 如果 proc 中断,则永远不会执行结尾定义测试迭代器 { 放入“进入过程";休息 }结尾测试 ..
发布时间:2021-07-11 19:55:15 其他开发

Ruby:Proc.new {'waffles'} 与 proc {'waffles'}

在 Ruby 中,Proc.new { 'waffles' } 和 proc { 'waffles' } 之间有什么区别吗?我发现很少有人提到第二种语法. 从使用 irb 进行的测试来看,我没有发现任何明显的差异.第二种语法糖是第一种吗? 解决方案 来自 Metaprogamming Ruby 第 113 页. 在 Ruby 1.8 中,Kernel#proc() 实际上是 K ..
发布时间:2021-07-11 19:14:14 其他开发

Ruby Proc 语法

我昨天在这里提出的一个问题的答案是以下一段 Ruby 代码: def 重叠?(r1,r2)r1.include?(r2.begin) ||r2.include?(r1.begin)结尾def any_overlap?(范围)range.sort_by(&:begin).each_cons(2).any?做 |r1,r2|重叠?(r1,r2)结尾结尾 我得到了 each_cons,但是奇怪的 & ..
发布时间:2021-07-11 18:41:44 其他开发

为什么显式返回对 Proc 有影响?

def foof = Proc.new { return "从 proc 内部返回 foo" }f.call # 控制在此处留下 fooreturn "从 foo 返回"结尾定义栏b = Proc.new {“从 proc 内部从 bar 返回"}b.call # 控件在此留下栏return "从酒吧回来"结尾puts foo # 打印“从进程内部的 foo 返回"puts bar # 打印“从 ..
发布时间:2021-07-09 20:41:55 其他开发

Ruby-Lambda与Proc.new

可能重复: 露比吗? 在运行以下 Ruby 代码时: def func_oneproc_new = Proc.new {返回"123"}proc_new.call返回"456"结尾def func_twolambda_new = lambda {返回"123"}lambda_new.call返回"456"结尾放置“运行func_one的结果是" + func_one放入“"放置“运行f ..
发布时间:2021-05-28 20:05:48 其他开发

proc函数对方法有什么好处

我正在解决 Project Euler 上的一些问题,我提到我总是在proc函数中包装简短的方法.我问自己"为什么?".答案是"我不知道.也许是因为它很短?". 那么proc函数对普通方法的好处是什么,除了它们很短:) # Proc is_prime = proc{|number| !((number%2 == 0) || (3..Math.sqrt(number).to_i).ste ..
发布时间:2021-02-15 21:07:10 其他开发

如何在Ruby中封送lambda(Proc)?

Joe Van Dyk 询问了Ruby邮件列表: 嗨, 在Ruby中,我想您无法封送lambda/proc对象,对吗?是 可能用Lisp或其他语言? 我正在尝试做的事情: l = lamda { ... } Bj.submit "/path/to/ruby/program", :stdin => Marshal.dump(l) 因此,我正在向BackgroundJob发 ..
发布时间:2021-02-15 20:53:13 其他开发

在Ruby块中使用“返回"

我正在尝试将Ruby 1.9.1用于嵌入式脚本语言,以便将“最终用户"代码写入Ruby块中.与此相关的一个问题是,我希望用户能够在块中使用'return'关键字,因此他们不必担心隐式的返回值.考虑到这一点,这是我想做的事情: def thing(*args, &block) value = block.call puts "value=#{value}" end thing { ..
发布时间:2020-04-26 15:07:30 其他开发