LoginSignup
0
0

More than 1 year has passed since last update.

[初心者向け]Rubyを手っ取り早く解説

Last updated at Posted at 2022-05-25

導入

Rubyのインストール方法と実行方法

Windows
Mac
M1Macの場合、homebrewをインストールする時は、Rosetta 2環境におけるHomebrewのインストールを使うと、M1Mac特有のエラーを回避できて楽です。

解説

表示

puts "Hello World!"

putsの後に表示したい文字列を書くと、表示されます。
表示させるような文字は、基本的に、"で囲みます。

puts "Hello World!" #=> Hello World!

#以降はコメントになります。ここに何を書いても、プログラムの実行には影響しません。
以下読みやすいように、#=>の後に、putsで何が表示されるのかを書くことにします。

「puts、print、p」の違いについて【Ruby入門】
ppの使い方

計算

puts 9 + 3 #=> 12
puts 9 - 3 #=> 6
puts 9 * 4 #=> 36
puts 9 / 4 #=> 2
puts 9 % 4 #=> 1
puts 3 ** 3 #=> 27

上から順に、「足し算、引き算、掛け算、割り算、余り、べき乗」です。
数字の計算ができます。(数字は"で囲みません。)

変数

a = 3
puts a #=> 3
a = 5
puts a #=> 5

aに3を入れて、aを表示しています。
aのようなものを、「変数」といいます。
変数は箱のような役割をしていて、数字や文字などを入れられます。
左辺には変数を、右辺には代入したい値を書きます。
同じ変数に2回目以降の代入をすると、値は上書きされます。

配列

a = [100, 150, 200]
puts a[0] #=> 100
puts a[1] #=> 150
puts a[2] #=> 200

値がリスト状になっているものを配列と呼びます。
[100, 150, 200]で配列を作り、aに配列を代入しています。
配列は0番目から始まります。
取り出し方はa[i]で、i番目の要素を取り出します。

ハッシュ

ハッシュは配列に似ています。「i番目」を取り出す代わりに、「文字列」などで値を取り出すものです。

a = {"a" => 1, "b" => 2, "c" =>, 3}
puts a["a"] #=> 1
puts a["b"] #=> 2
puts a["c"] #=> 3

for文

for a in [100, 150, 200]
  puts a #=> 100 #=> 150 #=> 200
end

for文を使うと、繰り返しをします。

for (変数) in (配列)
  (ここに繰り返したい処理を書く)
end

というように使い、配列から1つずつ取り出して変数に入れ、繰り返しています。

if文

a = 5
if a > 3
  puts "aは3より大きい"
end
# => aは3より大きい

ifの意味は「もし」です。
もしaが3より大きかったら、if文の中身を通ります。
そうでなければ、if文の中身は通りません。
今回の場合は、aに5が代入されているので、if文の中身は通ります。

a = 0
if a > 3
  puts "aは3より大きい"
else
  puts "aは3より大きくない"
end
#=> aは3より大きくない

ifとセットで覚えて欲しいのが、elseです。
elseの意味は「でなければ」です。
もしa > 3だったら、if文の中身を通ります。
そうでなければ、else文の中身を通ります。
今回の場合は、aに0が代入されているので、else文の中身を通ります。
a > 3などの条件ですが、以下の記号が使えます。

記号 意味
a == b aとbは同じ
a != b aとbは違う
a > b aがbより大きい
a >= b aはb以上
a < b aがbより小さい
a <= b aはb以下
記号 意味
a && b aかつb
a || b aまたはb
!a aでない
記号 意味
true
false
a =
  if 1 + 1 == 2
    "命題は真です"
  else
    "命題は偽です"
  end
puts a #=> 命題は真です

上記のように、if文は、if文の中の通った方の処理の結果を返します。
なので、aには"命題は真です"が入ります。
ちなみに、elseが書かれていなくて、if分の中を通らなかった場合、nil(空) が返ってきます。

3項演算子、倒置if
case文

関数

def hoge
  puts 1 + 1
  puts 3 + 5
end

hoge #=> 2 #=> 8

関数は複数行をひとめとめにしていつでも何回でも呼び出せるようにします。

def 関数名
  (ここにまとめたい処理を書く)
end

というように書きます。

以上のコードでできること

1から10までの中から、3の倍数であるものを出力する

for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  if i % 3 == 0
    puts i #=> 3 #=> 6 #>= 9
  end
end

類題(FizzBuzz)

終わりに

あとクラスが残ってますが、今回は触れません。
お読みいただきありがとうございました。

0
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
0
0