0

我在 RubyKoans.com 上工作,并被about_symbols.rb这个公案困住了。

这是测试:我想我应该在括号中放一些东西,assert_raise()但我不知道:

def test_symbols_cannot_be_concatenated
    # Exceptions will be pondered further father down the path
    assert_raise(___) do
      :cats + :dogs
    end
  end

这是终端中的提示:

The answers you seek...
  [FillMeInError] exception expected, not  Class: <NoMethodError>  Message: <"undefined method `+' for :cats:Symbol">  ---Backtrace---  /Users/mm/Sites/koans/about_symbols.rb:89:in `block in test_symbols_cannot_be_concatenated'  ---------------
4

2 回答 2

4

当您卡在公案上时,只需在 irb 中尝试一下。它可以帮助您知道要填写什么。

$ irb
>> :symbol + :another_symbol
NoMethodError: undefined method `+' for :symbol:Symbol
from (irb):2
于 2012-08-23T04:46:35.953 回答
4

这就是答案。假设将错误放在括号中。

  def test_symbols_cannot_be_concatenated
    # Exceptions will be pondered further father down the path
    assert_raise(NoMethodError) do
      :cats + :dogs
    end
  end
于 2012-08-23T03:26:38.747 回答