LoginSignup
1
3

More than 3 years have passed since last update.

Ruby入門メモ(プログラミング経験者用)1

Last updated at Posted at 2020-04-01

変数定義

1.型無しで定義できる
2.セミコロンがいらない

//C言語やC#言語の場合
//int year = 2020;

//Ruby
 year = 2020

入出力

1.シングルクォーテーションやダブルクォーテーションで囲む。
2.クォーテーションで囲むと文字列として扱われる
3.文字列中で変数をつかうときは「#{ }」で変数をかこむ(ダブルクォーテーションのとき利用可能)。

num1 = 10
num2 = 20

puts num1 + num2
puts "num1" + "num2"
puts "#{num1}" + "#{num2}"

buf1 = "春夏" 
buf2 = "秋冬"

puts buf1 + buf2

[実行結果]

30
num1num2
1020
春夏秋冬

出力

改行なし print
改行あり puts

print "あいう"
puts "あいう"

puts "あいう"
print "あいう"

[実行結果]

あいうあいう
あいう
あいう

入力

文字列:gets.chomp

input = gets.chomp
puts input

[実行結果]

1
1

ここで、gets.chompは文字列として入力されるため、
数値変換するためには「gets.chomp.to_i」をつかう。

input = gets.chomp.to_i
puts input
1
1

複数の要素の入力

スペースで区切られているとき。

#入力
あ い う え お

gets.chomp.splitを使う。

input = gets.chomp.split

スペースで区切られているかつ、要素が数値の時。
map(&:to_i)をつける。

#入力
#1 2 3 4 5

input = gets.chomp.split.map(&:to_i)

配列

宣言

1.大カッコ「[]」でかこむ

languages = ["日本", "中国", "アメリカ"]

puts languages

[実行結果]

日本
中国
アメリカ

配列の要素数

lengthメソッドをつかう

languages = ["日本", "中国", "アメリカ"]

puts languages.length

[実行結果]

3

配列の要素の追加

配列 << 要素

languages = ["日本", "中国", "アメリカ"]

languages << "イギリス"
puts languages

[実行結果]

日本
中国
アメリカ
イギリス

配列の要素の削除

配列.delete(要素)

languages = ["日本", "中国", "アメリカ"]

languages.delete("アメリカ")
puts languages

[実行結果]

日本
中国

配列の繰り返し処理


配列.ecach do |変数|
#処理
end

colors = ["red", "green", "yellow"]

colors.each do |x|
  puts x
end

[実行結果]

red
green
yellow

for文

for 変数 in オブジェクト(数値範囲や配列)
#処理
end


数値範囲は「..」か「...」の記号を使用する
「..」は以下 例)1..5は1から5まで
「...」は未満 例)1...5は1から4まで

for num in 1..5
  puts num
end

[実行結果]

1
2
3
4
5

メソッドの定義

def メソッド名(引数)
#処理
end

def check(number)
  #処理
end

if文

①if,elsif,elseを使用する(elseifではない)。
②endを忘れない

if num > 10
  puts "10より大きい"
elsif num == 10
  puts "10"
else
  puts "10より小さい"
end
def check(num)

if num > 10
  puts "10より大きい"
elsif num == 10
  puts "10"
else
  puts "10より小さい"
end

end

check(5)
check(10)
check(20)

[実行結果]

10より小さい
10
10より大きい

まとめ

FizzBuzzのコードを書いてみる

input_num = gets.chomp.to_i

range = 1..input_num

for x in range
  if x % 3 == 0 && x % 5 == 0
    puts("#{x}: " + "FizzBuzz")
    elsif x % 3 == 0
    puts("#{x}: " + "Fizz")
    elsif x % 5 == 0
    puts("#{x}: " + "Buzz")
  else

  end
end

[実行結果]

15
3: Fizz
5: Buzz
6: Fizz
9: Fizz
10: Buzz
12: Fizz
15: FizzBuzz

最後に

paizaなどを通して簡単なアウトプットを繰り返しましょう

参考文献

Progate: https://prog-8.com/slides?lesson=72%2C75%2C78%2C81%2C85

1
3
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
3