【Ruby】基本的な文法まとめ(初心者向け)

こんにちは!CODE CLUB965のKです!

今回は、これからRubyを勉強する方や、初心者の方に向けて基本的な文法についてまとめたいと思います。

勉強するうちになんとなく分かってくるとは思いますが、Rubyの文法の大体の内容を理解して勉強すればより効率的に進めることができると思います。

基本事項まとめ

以下に基本的な文法について箇条書きでまとめておきます。

文法

  • 文末にセミコロンは付けない
  • インデントはスペースのみ使用する
    • タブは使用しない(環境によりタブ幅が異なるため)
  • 複数のクラス定義がある場合、各class定義の間は1行あける

命名規則

  • クラス、モジュール名
    • CamelCase
    • 各単語の最初は大文字
    • アンダーバー 「_」は使わない
    • 例外:HTTPやXML等の大文字の固有名詞はそのまま表す
      • 例) ◯ SampleClass、HTTPClient
      • 例) × sample_class、Sampleclass、HttpClient
  • メソッド名
    • 英小文字のsnake_case。
      • 例) ◯ add_sample
      • 例) × addSample、Add_sample
    • 真偽を表す場合は、「?」をつける(is_はつけない)
      • 例) ◯ deleted?
      • 例) × is_deleted、is_deleted?
    • 破壊的メソッドの場合は、末尾に「!」を付ける
      • 例) split #非破壊的メソッド
      • 例) split! #破壊的メソッド
    • 「!」がなければ破壊的メソッドではないというわけではない
      • 例)concatなど
  • 定数
    • 大文字のsnake_case
      • 例) ◯ EXAMPLE_CONSTANT
  • 変数
    • 基本的に、英小文字 or _始まり のsnake_caseを使う
      • 例) local_variable
    • グローバル変数の場合は、頭に$をつける
      • 例) $global_variable
    • インスタンス変数の場合は、頭に@を付ける。
      • 例) @variable
    • クラス変数の場合は、頭に@@を付ける。
      • 例) @@variable
  • 文字列
    • ダブルクォーテーションかシングルクォーテーションで囲む。
  • 真偽
    • 偽はfalseとnilのみ
    • それ以外は真(true)
    • 0も空白(" ")も真
  • 配列
    • インデックスは0始まり
    • 配列[インデックス]で、配列にアクセス
  • ハッシュ(連想配列)
    • {key1 => val1, key2 => val2 }でハッシュ生成
    • ハッシュ[key]でアクセス
  • シンボル
    • コロン(:)で始まる文字列
      • 例):include
    • ハッシュキーなど簡単な文字列参照等で、文字列オブジェクトの代わりに以下の理由からよく使われる
      • 可読性が高い
      • メモリの節約になる(新たにオブジェクトを生成しないため)

メソッド

  • インスタンスメソッド
    • アクセサメソッド
      • インスタンス変数への参照や更新を行うためのインスタンスメソッド
      • 以下3種類のみ存在する。
        • attr_accessor   #インスタンス変数の参照、更新が可能
        • attr_reader   #インスタンス変数の参照のみ可能
        • attr_writer   #インスタンス変数の更新のみ可能
    • initializeメソッド
      • コンストラクタ
      • オブジェクト生成後にインスタンスの初期化を行うためのインスタンスメソッド。
    • クラスメソッド
      • クラスをレシーバとして呼び出せるメソッド
      • newメソッド
        • オブジェクト生成のためのクラスメソッド。
        • 生成後にインスタンスメソッドinitializeで初期化される。
    • モジュールメソッド
    • 特異メソッド

その他

  • ブロック
    • 基本的にdo...endを使用する。
  • 条件分岐
    • if文:if ~ elseif ~ else ~ end
    • unless文:unless then ~ end
    • case文:case ~ when then ~ end
  • ループ
  • 論理演算子
    • &&(かつ)
    • || (または)

最後に

上記に基本的なことはまとめたので、上記のことを分かっていれば基本的なことは問題ないと思います。

あとは実際に手を動かしながら覚えていきましょう!

それでは、また!

Follow me!