この記事の概要
・Rubyについて、Progateで学んだことを書き記す
・ガチ初心者によるもの
・主に備忘録として、随時書き足していく
項目
変数の定義の方法
変数の宣言
name = "tanaka"
変数の出力
name = "tanaka"
puts name
実行結果)tanaka
ちなみに、PHPの場合
$name = "tanaka";
echo $name;
実行結果)tanaka
配列の定義の方法
まずはシンプルな配列から
name = ["tanaka","suzuki","sato"]
name = ["tanaka","suzuki","sato"]
puts name
実行結果)
tanaka
suzuki
sato
配列の要素を、インデックス番号を指定して出力
name = ["tanaka","suzuki","sato"]
puts name[1]
実行結果)
suzuki
配列の要素を、eachを使用して全部出力
names = ["tanaka","suzuki","sato"]
names.each do |name| //namesの要素全てを、nameという変数に代入
puts name
end
実行結果)
tanaka
suzuki
sato
ちなみにPHPだと、
$names = array("tanaka","suzuki","sato"];
foreach($names as $name){
echo $name;
}
実行結果)
tanaka
suzuki
sato
変数を、文字列と結合して出力
name = "tanaka"
puts "My name is #{name}"
実行結果)My name is tanaka
names = ["tanaka","suzuki","sato"]
puts "My name is #{name[2]}
end
実行結果)My name is sato
クラスの使用
Class Menu
attr_accessor:name //Menuクラスが持つインスタンス
attr_accessor:price //Menuクラスが持つインスタンス
end
menu1 = Menu new //Menuクラスからインスタンスを生成し、変数Menu1に代入
menu1.name = "pizza" //Menuクラスのインスタンス変数であるnameに値を代入
puts menu1.name
実行結果)pizza
インスタンスメソッドの利用
Class Menu
attr_accessor:name
attr_accessor:price
def show //Menuクラス内でメソッドを定義(=インスタンスメソッド)
puts "today's menu"
end
end
menu1 = Menu.new
menu1.show //インスタンスメソッド呼び出し
実行結果)today's menu
インスタンス変数の利用
class Menu
def show_name
puts "My name is #{self.name}"
end
end
menu1 = Menu.new
menu1.name = "tanaka" //インスタンス変数に値を代入
menu1.show_name //インスタンスメソッドの呼び出し
IF文を含んだインスタンスメソッド呼び出し例
class Menu
attr_accessor :name
attr_accessor :price
def info
return "#{self.name} #{self.price}円"
end
# get_total_priceメソッドを定義
def get_total_price(count)
total_price = self.price * count
if count >= 3
total_price = total_price - 100
end
return total_price
end
end
menu1 = Menu.new
menu1.name = "ピザ"
menu1.price = 800
# menu1に対してget_total_priceメソッドを呼び出し、その戻り値を出力
puts menu1.get_total_price(3)