2015-02-06 83 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