ruby基本文法

Rubyの基本的な文法をさらっと。

変数とデータ型

Rubyは動的型付け言語なので、データ型を指定せずに変数を宣言できる。

name = "Alice"
name.class #=> String

bool = true
bool.class #=> TrueClass

age = 20
age.class #=> Int

height = 155.6
height.class #=> Float

文字列

ダブルクォーテーションまたはシングルクォーテーションで文字列を作成。
ダブルクォーテーション内では変数の値を展開できるという違いがある。

single_quoted = 'シングルクォーテーション'
double_quoted = "ダブルクォーテーション"

name = "Bob"
greeting = "Hello, #{name}!"

文字列同士で結合できる。

first_name = '太郎'
last_name = '田中'

name = last_name + first_name 
puts "Hello, #{name}!"

数値演算

x = 10
y = 5
sum = x + y
difference = x - y
product = x * y
quotient = x / y

ブロック

条件文

if文。他の言語のelse ifとちがい、elsifを用いる。

if age >= 18
  puts "成年です"
elsif age == 17
 puts "永遠の17歳です"
else
  puts "未成年です"
end

ループ

他言語と違い、for文は使わずにメソッドを用いることが多い。

5.times do
  puts "hello"
end
fruits = ["りんご", "バナナ", "オレンジ"]
fruits.each do |fruit|
  puts fruit
end

while文

i = 0
while i < 10 do
  puts i
  i += 1
end

配列

複数の値をまとめて扱うためのデータ構造。

fruits = ["りんご", "バナナ", "オレンジ"]
puts fruits[0] # "りんご"が表示される

fruits.push("グレープ") # 配列に要素を追加
fruits.pop("バナナ") # 配列から要素を削除

メソッド

関数のようなもので再利用可能。

def area(x, y)
  x * y
end

puts(5, 6) 

returnを省略できる。

クラスとオブジェクト

class Person
  def initialize(name, age)
    @name = name
    @age = age
  end

  def introduce
    puts "私は#{@name}で、#{@age}歳です。"
  end
end

person = Person.new("David", 25)
person.introduce()