シンボルの宣言
:s = 's'
s = :s
# これは、シンボル同士の比較だから一致する。
# クォートで囲ってもシンボルは同一となる。
puts s == :"s"  # => true
puts s == :s    # => true
# これは、文字列との比較だから一致しない
puts s == "s"   # => false
string = "hoge"
# 文字列をシンボルに変換するには、internかto_symを使う
puts :hoge == string          # => false
puts :hoge == string.intern   # => true
puts :hoge == string.to_sym   # => true
シンボルを使ってリフレクション
array = Array.new
puts array                      # => []
# リフレクションでメソッドの存在チェック
puts array.respond_to?(:push)   # => true
# リフレクションでメソッド呼び出し
array.send(:push, "hoge")
puts array                      # => [hoge]