2012-08-24 13 views
8

Prawdopodobnie znakiem amatora, że ​​zastanawiam się, czy problem jest koan (zamiast mnie), jednak należy wziąć pod uwagę ten koanRubyKoans: broken koan?

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

Uwaga, metoda my_global jest

def my_global_method(a,b) 
    a + b 
end 

Jest wskazówkę, że daje mi w terminalu

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

tak zrobiłem

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

i mam ten błąd

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)>' 

Czy ktoś zna ten problem i może mi pan powiedzieć, jak pominąć koan?

Odpowiedz

18

Och, przetestowałem ten koan. Błąd występuje w linii 21, jeśli zauważyłeś, że nie jest to metoda "test_calling_global_methods_without_parentheses". Metoda "test_sometimes_missing_parentheses_are_ambiguous" idzie nie tak, jak powinna. Oczekuje się, że poprawisz tę metodę.

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. 

A jeśli jest jakikolwiek koan, z którym nie wiesz jak sobie poradzić, po prostu skomentuj to.

Powiązane problemy