静岡理工科大学 菅沼ホーム Ruby 目次 索引

Symbol クラス

  Symbol クラスのオブジェクトは,特定の文字列と一対一に対応します.シンボルはプログラム内で一意の整数値であり,

:abc

と記述することによって,文字列 "abc" をシンボル :abc (整数値)に一対一で対応させます.Ruby においては,予約後,変数名,リテラルなどはシンボルを使用して管理しています.例えば,文字列リテラルは,出現するたびに新しい String クラスのインスタンスを生成し,それらに異なるシンボルを対応させます.以下に示すプログラムにおいて,ダブルクォートで囲まれた文字列は,すべて異なるシンボルに対応しています.従って,その内容が同じであっても,Object クラスのメソッド equal? を使用して比較すると,false を返します.
p ("abc" == "abc") ? true : false
p ("abc".equal?("abc")) ? true : false
p (:abc == :abc) ? true : false
p (:abc.equal?(:abc)) ? true : false
		
(出力)
true
false
true
true
		

[メソッド]
  • to_s シンボルに対応する文字列
  • id2name シンボルに対応する文字列
  • to_i シンボルに対応する整数

メソッド

静岡理工科大学 菅沼ホーム Ruby 目次 索引