タグ

rubyとstructに関するsnjxのブックマーク (4)

  • Structクラスで単純なクラスを手軽に定義する - Qiita

    はじめに この記事は書籍「プロを目指す人のためのRuby入門」に掲載できなかったトピックを著者自らが紹介するアドベントカレンダーの19日目です。 文に出てくる章番号や項番号は書籍の中で使われている番号です。 今回はStructクラスで単純なクラスを定義する方法を説明します。 必要な前提知識 「プロを目指す人のためのRuby入門」の第7章まで読み終わっていること。 # Structを使ってUserクラス(Userの構造体)を作成する User = Struct.new(:first_name, :last_name) # Structクラスから作成されたUserクラスを使う user = User.new('Alice', 'Ruby') # 属性を参照する user.first_name #=> "Alice" user.last_name #=> "Ruby" # 属性を変更する us

    Structクラスで単純なクラスを手軽に定義する - Qiita
  • 【Ruby】Struct(構造体クラス)を理解する - Qiita

    Struct(構造体クラス)とは? RubyにおけるStruct(構造体クラス)は簡易的なクラスのようなもので、下記のようなケースで使用されます。 まとまったデータを扱いたいが、クラスを作るまでもない場合。 クラス内で特定のデータのまとまりを表現する場合。 通常のクラスとの違い 主に下記のような違いがあります。 継承、メンバの追加・削除ができない。 明示的にアクセスメソッドを定義しなくても、構造体クラス外でメンバの参照・更新が可能。 Struct(構造体クラス)の定義方法 定義方法(1) 第一引数にはStringで構造体クラス名を渡します。(クラスと同じで大文字から始まる必要があります。) 第二引数以降にはSymbolでメンバを渡します。 第一引数を渡した場合 Struct.new("User", :name, :age) p Struct::User.new("Taro", 36) #=

    【Ruby】Struct(構造体クラス)を理解する - Qiita
  • めっちゃ便利なRubyのStructクラスのお話 - Qiita

    きっかけ とちぎRuby会議09にリモートで参加し、そこで見たLTに今更聞けない! Struct の使い方と今後の可能性についてでRubyのStructクラスについて初めて知った。 なにこれめっちゃ便利じゃん!となったので啓蒙も兼ねて記事を書こう、となったのがきっかけ。 Rubyはかれこれ休み休み10年間は触っているけれど未だに発見がある。素敵!学んでいないだけでは?? Structクラスとは Ruby 2.7.0 リファレンスマニュアル Structクラス 構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。 個々の構造体はサブクラスから Struct.new を使って生成します。個々の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。 自分の解釈で説明すると 任意の名前のプロパティ(とメソッド)を持つオブジェクトをお手軽に作成でき

    めっちゃ便利なRubyのStructクラスのお話 - Qiita
  • class Struct (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。 個々の構造体はサブクラスから Struct.new を使って生成します。個々の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。 目次 特異メソッド [] keyword_init? members new インスタンスメソッド == [] []= dig each each_pair eql? equal? filter hash inspect length members select size to_a to_h to_s values values_at 継承しているメソッド Enumerableから継承しているメソッド all? any? chain chunk chunk_while collect collect_concat compact c

    snjx
    snjx 2023/01/19
    便利。
  • 1