首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >:test_sometimes_missing_parentheses_are_ambiguous

:test_sometimes_missing_parentheses_are_ambiguous
EN

Stack Overflow用户
提问于 2014-01-06 04:19:03
回答 2查看 1.3K关注 0票数 3

我正在完成Neo的Ruby (http://rubykoans.com/)。在about_methods.rb中,koan指示纠正以下当前损坏的eval:

代码语言:javascript
复制
# (NOTE: We are Using eval below because the example code is
  # considered to be syntactically invalid).
  def test_sometimes_missing_parentheses_are_ambiguous
    eval "assert_equal (5), my_global_method (2, 3)" # ENABLE CHECK
    #
    # Ruby doesn't know if you mean:
    #
    #   assert_equal(5, my_global_method(2), 3)
    # or
    #   assert_equal(5, my_global_method(2, 3))
    #
    # Rewrite the eval string to continue.
    #
 end

my_global_method是

代码语言:javascript
复制
def my_global_method(a,b)
  a + b
end

要想通过这个测试,我需要如何修改eval?

编辑:RubyKoans: broken koan?询问这段代码是否被破坏,虽然它表明问题是按预期的方式进行的,但是没有提供对koan的回答。

错误如下:

代码语言:javascript
复制
(eval):1: syntax error, unexpected tINTEGER, expecting keyword_do or '{' or '('    (SyntaxError)
assert_equal 5, my_global_method 2, 3
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-06 04:52:42

改为:

代码语言:javascript
复制
eval "assert_equal 5, my_global_method(2, 3)"
票数 3
EN

Stack Overflow用户

发布于 2014-05-27 18:57:53

你想让你的评估线看起来更像这样:

"assert_equal 5,my_global_method(2,3)“# ENABLE CHECK

您的错误告诉您,它无法理解传递给它的参数,因为它缺少括号。他们错误地将代码放入其中,以证明在调用带有多个参数的方法时需要使用括号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20942903

复制
相关文章

相似问题

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