Ruby 用块求和

Ruby 用块求和,ruby,rspec,Ruby,Rspec,我试图传递一个rspec,通常我会做一个方法并传递一个函数。 我所要做的就是添加一个,我很尴尬我甚至在这里发布 通常我会这样做 def adder(n) n+1 end 但是我需要通过一个街区,我对它不熟悉 describe "adder" do it "adds one to the value returned by the default block" do adder do 5 end.should == 6 end it "adds 3 to the v

我试图传递一个rspec,通常我会做一个方法并传递一个函数。 我所要做的就是添加一个,我很尴尬我甚至在这里发布

通常我会这样做

def adder(n)
   n+1
end
但是我需要通过一个街区,我对它不熟悉

describe "adder" do
 it "adds one to the value returned by the default block" do
  adder do
    5
  end.should == 6
 end

 it "adds 3 to the value returned by the default block" do
   adder(3) do
    5
  end.should == 8
 end
end
我试过了

    def adder
       yield  {|n| return n+1 }
    end

以下代码将执行以下操作:

def adder(a=1, &block)
  a + yield
end
 => :adder 

adder do
  5
end
 => 6 

adder(3) do
  5
end
 => 8

你需要学习,你的问题不清楚。另外,
加法器是什么?@sawa OP正在尝试使用block进行求和…函数rspec的名称正在查找for@ArupRakshit在我发表评论时,OP有
def add(n)…
。从那时起,OP悄悄地改变了这个问题。简单的问题不需要被否决,可以尝试更欢迎新用户。