Paizaのスキルチェック問題や開発の際によく使うRubyのメソッドをまとめてみた
はじめに
以前、某企業のエンジニアのコーディングテストを受けた際にリファレンスを見ながらではなく、ある程度のメソッドを覚えておく必要があると感じたので、復習がてらPaizaのスキルチェックや開発でよく使うRubyのメソッドをまとめてみました。
slice
引数に指定した分の文字列を取り出す
alphabet = "abcde"
alphabet.slice(1..2)
"bc"
gsub
文字列を置換する。第一引数に変換したいパターン(正規表現)、第二引数に置換したい文字列を指定する。
alphabet = "abcde"
alphabet.gsub(/bc/, "a")
"aade"
sort
sortは昇順と降順どちらに並び替えることが可能。
まずは昇順に並び替えたい場合
numbers = [5, 3, 2, 9, 1]
numbers.sort
[1, 2, 3, 5, 9]
次に降順に並び替えたい場合
numbers = [5, 3, 2, 9, 1]
numbers.sort { |a, b| b <=> a }
[9, 5, 3, 2, 1]
reverse
文字列の場合、反転させる
name = "Taro"
name.reverse
"oraT"
配列の場合は順番を入れ替える
numbers = [5, 3, 2, 9, 1]
numbers.reverse
[1, 9, 2, 3, 5]
pushとunshift
pushは、配列の末尾に指定した引数を追加する
alphabet = ["a", "b", "c", "d"]
alphabet.push("e") #alphabet << "e"でもOK
["a", "b", "c", "d", "e"]
unshiftは、配列の先頭に引数で指定した要素を追加する
alphabet = ["a", "b", "c", "d"]
alphabet.unshift("0")
["0", "a", "b", "c", "d"]
round
数値を四捨五入する
1.3.round
=> 1
1.5.round
=> 2
chomp
文字列の末尾にある改行文字を取り除く(改行文字がない場合は何もしない)
acquisition = gets #getsはキーボードで入力した値を文字列で取得するメソッド
hello
=> "hello\n"
acquisition.chomp
=> "hello"
uniq
重複した要素を削除する
num = [0, 1, 1, 1, 2, 4]
num.uniq
[0, 1, 2, 4]
map
要素数だけブロックを実行し、ブロックを評価した新たな配列を作成して返す
numbers = ["0", "1", "1", "1", "2", "4"]
numbers.map { |item| item.to_i }
[0, 1, 1, 1, 2, 4]
上記のブロック部分は省略記法を用いる場合が多く、下記のようになっていることが多い。
numbers = ["0", "1", "1", "1", "2", "4"]
numbers.map(&:to_i)
[0, 1, 1, 1, 2, 4]
select
ブロック内の戻り値が真になったものを新たな配列として返す
numbers = [0, 1, 2, 3, 4]
numbers.select { |item| item % 2 == 0 }
[0, 2, 4]
join
文字列を連結する
numbers = ["0", "1", "1", "1", "2", "4"]
numbers.join
"011124"
引数に区切り文字を指定して分けることもできる
numbers = ["0", "1", "1", "1", "2", "4"]
numbers.join(",")
"0,1,1,1,2,4"
count
配列の要素数または、引数で指定した文字列or要素の数を数える
maxとmin
最大と最小の値を返す
upcaseとdowncase
それぞれ大文字と小文字にする
alphabet = "abcde"
alphabet.upcase
"ABCDE"
alphabet = "ABCDE"
alphabet.downcase
"abcde"
abs
絶対値を求めることができる
num = -1
num.abs
1
おわりに
Paizaや開発で使っていたrubyのメソッドを紹介しました。随時更新していきたいと思っています。何かもっと便利でよく使ってるよというメソッドがあれば教えてください!
Author And Source
この問題について(Paizaのスキルチェック問題や開発の際によく使うRubyのメソッドをまとめてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/shintarou-akao/items/7aa0fcfa3ba0f87eb52b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .