2014-12-23 59 views
0

這是從紅寶石Koans摘錄。紅寶石中的這種構造是什麼類型?

in_ruby_version("mri") do 
    RubyConstant = "What is the sound of one hand clapping?" 
    def test_constants_become_symbols 
     all_symbols_as_strings = Symbol.all_symbols.map { |x| x.to_s } 

     assert_equal true, all_symbols_as_strings.include?(:RubyConstant) 
    end 
end 

在in_ruby_verion前沒有任何修飾符的這種方法是什麼?這是什麼構造。

+0

'in_ruby_version(「mri」)'接受一個塊參數(包含在'do'''end'對中)。 'in_ruby_version(「mri」)裏面的代碼將會有一個yield語句,然後會產生該語句塊。 – lurker

回答

0

它實際上只是一個方法調用。令人感興趣的是它正在通過一個塊,(doend表示法)。