2015-02-06 37 views
1

我想使用ablock如下所示打印值5。我尝试使用ablock {|x, y| puts "answer:#{x+2*y}"}。但它不会在irb中显示任何内容。无法使用收益率获得所需的输出

def ablock 
    i = 1 
    j = 2 
    yield(i, j) 
    i = 3 
    j = 4 
end 
+1

看起来不错。它应该打印'回答:5' – lifus 2015-02-06 17:04:07

+1

为我工作以及 – Anthony 2015-02-06 17:05:50

回答

1

它应该工作的罚款

2.1.1 :001 > def ablock 
2.1.1 :002?>  i = 1 
2.1.1 :003?>  j = 2 
2.1.1 :004?>  yield(i, j) 
2.1.1 :005?>  i = 3 
2.1.1 :006?>  j = 4 
2.1.1 :007?> end 
=> :ablock 
2.1.1 :008 > ablock {|x, y| puts "answer:#{x+2*y}"} 
answer:5 
=> 4 
2.1.1 :009 > 
+0

是啊...它工作正常...看起来像ablock函数没有得到创建时,我粘贴在IRB的方法...我再次尝试,它的工作.. – Zack 2015-02-06 17:09:40