LoginSignup
1
0

More than 3 years have passed since last update.

【Ruby】変数の定義方法、配列の定義方法

Last updated at Posted at 2019-09-14

この記事の概要

・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)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0