首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby: define?的默认值

Ruby: define?的默认值
EN

Stack Overflow用户
提问于 2013-11-25 09:16:08
回答 1查看 110关注 0票数 0

我有一个关于定义的问题我的主要问题是我对参数是如何工作的有点困惑。

这是我的方法

代码语言:javascript
复制
 def repeat(repeated_word)
    @repeated_word = repeated_word
    "#@repeated_word #@repeated_word"
    end

这是我的rspec测试,以确保我的方法正常工作。

代码语言:javascript
复制
 describe "repeat" do
    it "should repeat" do
      repeat("hello").should == "hello hello"
    end

    # Wait a second! How can you make the "repeat" method
    # take one *or* two arguments?
    #
    # Hint: *default values*
    it "should repeat a number of times" do
      repeat("hello", 3).should == "hello hello hello"
    end
   end

它通过了第一个测试,但没有通过第二个测试。我的困惑是,如果我添加了第二个参数,意思是def repeat(repeat_word,times_repeated),那么第一个测试就会失败,因为它有错误的参数数量。不确定如何设置默认值?

EN

回答 1

Stack Overflow用户

发布于 2013-11-25 09:20:29

代码语言:javascript
复制
def repeat(repeated_word, repeats=2)
  repeats.times.map { repeated_word }.join(' ')
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20183361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档