LoginSignup
2
1

More than 3 years have passed since last update.

【備忘録】Ruby 基本事項一覧

Last updated at Posted at 2020-11-10

プロローグ

Rubyで色々な問題を解いていて、配列や繰り返し処理の使い方、メソッドなどなどを1度整理したいと思い、投稿いたします。
誤っている部分がございましたら、ご教授頂けますと幸いです🙇‍♂️

プロを目指す人のためのRuby入門を中心に、様々な記事を参考にして自分なりに書いていきます。
最後に参考記事を載せておきます。

自分が学習したものを随時載せておくので、順番がおかしいかもしれませんが、ご了承頂けますと幸いです。

配列や繰り返し処理

  • for文

for文

:for文の中で作成された変数は、for文の外でも参照できる

Qiita.rb

for 変数 in 配列など (do) #doは省略可能
 繰り返し処理
end

例1

Qiita.rb

numbers = [1,2,3] #決まった配列
sum = 0 #初期値
for n in numbers #numbersの値を1つずつnにいれる
 sum += n #0+1=1, 1+2=3, 3+3=6 と代入し計算
end

sum #合計値6を出力

例2

Qiita.rb

n = gets.to_i #好きな数字を入力させる

for i in 1..3 do 
    puts i 
end

# 結果
#1
#2
#3

#(補足)1..nを範囲オブジェクトという。ちなみに、1...nの場合、1から(n-1)まで出る(例:1...5:1~4)

メソッド

  • readlineメソッド
  • mapメソッド
  • to_iメソッド
  • printメソッド
  • putsメソッド
  • getsメソッド
  • upcaseメソッド
  • downcaseメソッド
  • splitメソッド
  • chompメソッド
  • include?メソッド

readlineメソッド

:複数行を読み込み配列に格納する。

Qiita.rb

入力される値:
3
1
4

readlineメソッドを使用することで、[3,1,4]となる。

mapメソッド

:配列の要素の数だけ処理を繰り返す。

Qiita.rb

配列のある変数.map { |変数| 実行したい処理}

:各要素にメソッドを適用するときは、下記のようにすることで、それぞれの要素に対してメソッドが繰り返し実行されて結果が配列として出力される。

Qiita.rb
配列のある変数.map(&:メソッド名)

Qiita.rb

入力される値:
"3"
"1"
"4"

array = readlines.map(&:to_i) 
puts array

# 結果 [3,1,4]

to_iメソッド

:数字の文字列を数値オブジェクトに変換する。

Qiita.rb

入力される値:
"3"

to_iメソッドを使用することで"3"とではなく、数字としての3が出力される

printメソッド

:改行を入れずに値を出力する。

Qiita.rb

array = [1,2,3]
print array
# 結果 [1,2,3]

putsメソッド

:改行を入れて値を出力する。

Qiita.rb

array = [1,2,3]
puts array
# 結果
# 1
# 2
# 3

getsメソッド

:ユーザーに値を入力させて、文字列として取得する。

Qiita.rb

N = gets
=> こんにちは
puts N
# 結果 ”こんにちは”

数字として返したい場合は、to_iメソッドを使う。

Qiita.rb
N = gets.to_i
=> 1
puts N
# 結果 1

upcaseメソッド

:小文字を大文字に変換する。

Qiita.rb

N = gets
=> hello
puts N.upcase
# 結果 HELLO

downcaseメソッド

:大文字を小文字に変換する。

Qiita.rb

N = gets
=> HELLO
puts N.downcase
# 結果 hello

splitメソッド

:指定した区切り文字で分割し、配列で返す

Qiita.rb

文字列.split(区切り文字, 分割数)

Qiita.rb

"appleANDorangeANDstrawberryAND".split('AND')
# 結果
# [ "apple", "orange", "strawberry"]

#ANDで区切って、配列を返してくれる。
#分割数に数字を書くことで返される配列の数が変わる。

chompメソッド

:文字列の改行コードを取り除く
「文字列の改行コードを取り除く」とは・・・❓

Qiita.rb
apple
orange

と出力された場合、appleの後ろには改行コード(\n)が入ってしまっています。
そのため、つなげて出力したい場合(appleorange)は、改行コードを消す必要があります。

Qiita.rb
=>apple
=>orange

word1 = gets.chomp
word2 = gets.chomp
puts word1 + word2
#=> applebanana

include?メソッド

:文字列や配列の要素に含まれる文字列に対して、指定した文字列が存在するか確認する

Qiita.rb
food = apple

if food.include?(p)
    puts "YES"
else
    puts "NO"
end

# 結果
# =>true

includeとinclude?は別物です。

includeはモジュールに対して使う
include?は文字列の検索

参考記事:【Ruby入門】Rubyのincludeは機能が2つ!includeの2つの機能を解説

参考記事

順不同です。

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