この記事では、ProgateのRuby講座、学習レッスンの内容を簡潔にまとめる。
プログラミング初学者に活用していただきたい。
本記事を書く目的はプログラミングをそれほど使わない私が、コードを書く時の参考に見たり、一度覚えた内容を忘れないよう留めておく程度である。
さらに学びたい方は以下の書籍をおすすめする。
HTML, CSSについてまとめた下記記事も参考に
文字の表示
puts “・・・”
””は半角、1つめの ” の前に半角スペース
コメント(非表示)
#・・・
変数
name = “John” 変数名は数字から始めない、2語以上の組み合わせにはアンダーバーを使う
変数を文字列に含める(変数展開)
“・・・#{変数名}・・・”
※ダブルクォーテーションを使った文字列の場合しか適用されない、足し算は不可
例)name =”佐藤”
puts “こんにちは#{name}さん”
if 文(もし○○ならば××を行う そうでなければ△△を行う)
if 条件式
処理
elsif 条件式
処理
else
処理
end
※最初に合致した条件のみ処理される
※条件を2つ並べて○○かつ××→○○ && ××
※条件を2つ並べて○○または××→○○ || ××
配列
names = [“Suzuki”, “Kato”, “Tanaka”]
※names[1]で2番目の要素取り出し
※puts namesとすると、下記の通り出力。
Suzuki
Kato
Tanaka
繰り返し処理 配列のすべての要素が順に処理を受ける
配列名.each |変数名|
処理
end
※変数名は通常、配列の単数形
※配列名.each do |変数名| も同じ
ハッシュ
それぞれの値にキーと呼ばれる名前を付けて管理する
例1)user = {“name”=> “Suzuki”, “age”=> 21 }
※puts userで {“name”=> “Suzuki”, “age”=> 21 }が出力
※user[“name”]で要素の指定
例2) user={:name => “Suzuki”, :age => 21}
※:nameの書き方をシンボルという
※要素の指定にもシンボルを使用(user[:name])
例3)user= {name: “Suzuki”, age: 21}
※シンボルの省略形、要素指定の方法はシンボルと同じ
値がない、存在しない
nil
if文の条件にnil→false, それ以外はtrueとして扱われる
メソッド
def introduce(name, age)
puts ”こんにちは。私は#{name}です。#{age}歳です。”
end
introduce(“name”, “age”)で呼び出し。(= introduce(name: “name”, age=”age”))
※関数に戻り値(return 〇〇)を指定すると、そこでメソッドの処理は終了する
クラス
インスタンスのひな型となる。インスタンスに対するあれこれを指定。
class Menu ※関数名の頭は大文字
attr_accessor :name
end
attr_accessor シンボル
クラスのインスタンスにインスタンス変数を持たせることができる
変数名= クラス名,new
新しくインスタンスを生成する。
インスタンス.変数名= 値
インスタンスの値をセット
※インスタンスの中にあるメソッド(インスタンスメソッド)では
self.変数名でインスタンス変数を扱うことができる
例)“私は#{self.name}です”
initializeメソッド
インスタンス生成直後に自動で呼び出されるメソッド
def initialize
・・・
end
他のファイルのコードを使えるようにする
require “./menu”
menu.rbのコードを読み込めるようになる
.(ドット)1つにつきファイルの階層が一つ上がる
入力を受け取る
変数 = gets.chomp
エンターキーが押されるまでに入力された値を変数に代入することができる
※受け取った値は数字でも文字列となる。数値にする場合は「gets.chomp.to_i」
クラスの継承
親クラスの内容を子クラスとして受け継ぐ。
class 子クラス<親クラス
end
オーバーライド
親クラスにあるメソッドと同じ名前のメソッドを子クラスで定義すると、メソッドの上書きができる(オーバーライド)
superで親クラスの同名メソッドを呼び出せる
例)
def initialize(name:, price:, calorie:)
super(name: name, price: price)
・・・・・
end
親メソッドに合わせて引数を渡す必要がある
日付の扱い方
require “date”でRubyが用意しているクラスを読み込む
date1 =Date.new(2015, 4,31)でインスタンス生成
Dateクラスには多くのインスタンスメソッドが用意されている
例1)puts date1.sunday? 日曜日かどうかがTrure or Falseで返される
例2)date2 =Date.today 今日の日付を作るインスタンス
クラスメソッド
Date.todayのように、クラス名に対してメソッドを呼び出すことをクラスメソッドという
クラスメソッドはクラスの中でも呼び出すことができる。
def クラス名.メソッド名
処理
end
まとめ

以上でRubyの基本文法についての記事を終える。
本記事で取り上げた内容は最低限ではある。さらに学びたい方は以下の書籍をおすすめする。
必要とあればググればいいので。
HTML, CSSについてまとめた下記記事も参考に
コメント