以下の内容はhttps://unageanu.hatenablog.com/entry/20090504/1241444423より取得しました。


名前付き構造体

「Struct.new」の第一引数で、構造体の名前を指定できたりします。

  • 名前を指定した場合、Structのクラス定数として生成された構造体が定義されます
    • 定義後は「Struct::<構造体名>」で作成した構造体にアクセスできます。
    • 変数や定数に代入する必要はありません。(代入も可能ですが。)
  • 構造体名は省略可能で、省略された場合、代入先の定数(変数)名がクラス名となります。(↑の例を参照)
# 名前付きで構造体を定義。
foo = Struct.new( "Kitten", :name )

# 構造体は、Struct::Kittenとして定義される。
puts Struct::Kitten.new( "mii" ).name
puts foo.new( "tora" ).name # 代入も可能

実行結果です。

mii
tora


いつも↓のような感じで使っていたのだけど、こういう定義の方法もあるのかー。

Kitten = Struct.new( :name )
puts Kitten.new( "mii" ).name

ふむ。




以上の内容はhttps://unageanu.hatenablog.com/entry/20090504/1241444423より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14