Estou me referindo a este teste em about_symbols.rb em Ruby Koans https://github.com/edgecase/ruby_koans/blob/master/src/about_symbols.rb#L26
def test_method_names_become_symbols
symbols_as_strings = Symbol.all_symbols.map { |x| x.to_s }
assert_equal true, symbols_as_strings.include?("test_method_names_become_symbols")
end
# THINK ABOUT IT:
#
# Why do we convert the list of symbols to strings and then compare
# against the string value rather than against symbols?
Por que exatamente temos que converter essa lista em strings primeiro?
Symbol.all_symbols
a uma variável e, em seguida, testar a inclusão. Os símbolos são mais rápidos na comparação e você evita converter milhares de símbolos em strings.