2012-08-24 8 views
8

Wahrscheinlich ein Zeichen von einem Amateur, die ich frage mich, ob das Problem der koan ist (eher als ich), aber betrachten Sie dieses KoanRubyKoans: gebrochenes Koan?

def test_calling_global_methods_without_parentheses 
    result = my_global_method 2, 3 
    assert_equal __, result 
    end 

Hinweis ist my_global Methode

def my_global_method(a,b) 
    a + b 
end 

Dies ist der Hinweis es gibt mir im Terminal

The answers you seek... 
    <"FILL ME IN"> expected but was <5>. 

I

So tat

und ich habe diesen Fehler

Users/mm/Sites/koans/about_methods.rb:21:in `eval': (eval):1: syntax error, unexpected tINTEGER, expecting keyword_do or '{' or '(' (SyntaxError) 
assert_equal 5, my_global_method 2, 3 
           ^
    from /Users/mm/Sites/koans/about_methods.rb:21:in `test_sometimes_missing_parentheses_are_ambiguous' 
    from /Users/mm/Sites/koans/edgecase.rb:377:in `meditate' 
    from /Users/mm/Sites/koans/edgecase.rb:449:in `block in walk' 
    from /Users/mm/Sites/koans/edgecase.rb:460:in `block (3 levels) in each_step' 
    from /Users/mm/Sites/koans/edgecase.rb:458:in `each' 
    from /Users/mm/Sites/koans/edgecase.rb:458:in `block (2 levels) in each_step' 
    from /Users/mm/Sites/koans/edgecase.rb:457:in `each' 
    from /Users/mm/Sites/koans/edgecase.rb:457:in `each_with_index' 
    from /Users/mm/Sites/koans/edgecase.rb:457:in `block in each_step' 
    from /Users/mm/Sites/koans/edgecase.rb:455:in `catch' 
    from /Users/mm/Sites/koans/edgecase.rb:455:in `each_step' 
    from /Users/mm/Sites/koans/edgecase.rb:448:in `walk' 
    from /Users/mm/Sites/koans/edgecase.rb:470:in `block in <top (required)>' 

Kennt jemand das Problem oder können Sie mir sagen, wie ein Koan überspringen?

Antwort

18

Oh, ich habe dieses Koan getestet. Der Fehler ist in Zeile 21, wenn Sie das bemerkt haben, nicht die Methode "test_calling_global_methods_without_parentheses". Es ist die "test_sometimes_missing_parentheses_are_ambiguous" -Methode, die so falsch läuft, wie es sein sollte. Von Ihnen wird erwartet, dass Sie diese Methode korrigieren.

def test_calling_global_methods_without_parentheses 
    result = my_global_method 2, 3 
    assert_equal 5, result   # You're fine with this koan. 
end 

# (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 
    # **LOOK HERE~~~ HERE IS THE ERROR YOU SEE** Just correct it. 

Und wenn es irgendwelche Koan gibt, mit denen Sie nicht umgehen können, kommentieren Sie es einfach.

Verwandte Themen