LoginSignup
0
0

More than 1 year has passed since last update.

初学者:Rubyの初歩的なコードをまとめてみた。

Last updated at Posted at 2022-04-14

超初歩的なRubyのコマンドを学ぶ際のアウトプット&備忘録としてまとめていく。

greetingを使用して“Hello World”を表示

greeting = "Hello Would"
puts greeting

配列

配列の中を並び替えて大きい順に表示

numbers = [2, 9 ,1, 5, 3, 2, 8]
puts numbers.sort.reverse

配列の中をシャッフルして表示

numbers = [2, 9 ,1, 5, 3, 2, 8].shuffle
puts numbers

配列の中の合計を表示

a = [2, 9 ,1, 5, 3, 2, 8]
puts a.sum
配列の中の平均値を表示(少数)
a = [2, 9 ,1, 5, 3, 2, 8]
puts a.sum.to_f / a.size
mapを使った配列
numbers = [100, 200, 300, 400]
results = numbers.map do |number|
    number / 10
end 
p results

ハッシュ

色々な言葉遊び

messages = {"お客様": "神様", "そうです、私": "変なおじさん", "本日": "晴天", "明日": "雨", "本当": "嫌い", "イルカ": "哺乳類", "神戸": "県庁所在地", "AWS": "難しい", "でも気持ちだけ": "負けたくないん", "だから": "頑張ろうって思うん"}
messages.each do |famous, saying|
    puts "#{famous}は#{saying}です"
end

だんだん眠くなる・・・。

sheep = 0
while sheep < 100
  sheep += 1
  puts "羊が#{sheep}匹"
end

この眠くなるコードはsleepとThread.newのクラスの情報を共有してもらい修正を加えたもの。
元々は上のようなコードで一気に表示されていたが、この応用を加えることで本当に数えて眠りに落ちるような状態に持っていくことができた。

# 修正版

sheep = 0
while sheep < 100
  sheep += 1
  puts "羊が#{sheep}匹"
end
↓修正版
it = Thread.new do
    sleep
  puts "羊がZZZzzz...sss"
end

sheep = 0
while sheep < 5
  sheep += 1
  sleep(1.6)
  p "羊が#{sheep}匹"
end

puts "羊が...匹....."
sleep (7)
it.run
<br />

ハッシュメソッド

ハッシュは複巣のオブジェクトをまとめることができる入れ物です。
複巣のデータを扱えることは「配列」と同じだがハッシュは「キーと値」の
セットで複数のデータを扱うことができる。
例:カフェのメニューでコーヒー300円、カフェラテ400円は以下のように書ける。
{:coffee => 300, :caffe_latte => 400}

#キーがシンボルの場合の書き方

menu = {coffee: 300, cafelatte: 400}
p menu[:coffee]

#キーがシンボル以外の場合の書き方

menu = {:coffee => 300, :cafelatte => 400}
p menu[:coffee]

✨シンボルとは・・・
シンボルは文字列と似ているオブジェクトで、文字列は””のようにDCで囲むが
シンボルは:から始めるので注意。
シンボルも文字列や整数と同じようにオブジェクトの種類の一つで、シンボルのクラス名Symbolと書く。

■ハッシュへキーと値の組みを追加する

menu = {coffee: 300, cafelatte: 400}
menu[:mocha] = 500
p menu 

■ハッシュは同じキーを複数持てない
追加した情報は上書きされるので、既にある情報を上書きしたい時は追加する

✨存在しないキーを指定した時は「nil」が返ってくる。

■ハッシュからキーと値の組みを削除する
削除するときはdelete+(キー名)メソッドを使用する

menu = {:coffee => 300, :cafelatte => 400}
menu[:mocha] = 500
menu.delete(:coffee)
p menu

■ハッシュの要素を繰り返し処理する

menu = {:coffee => 300, :tea => 400}
menu.each do |key, price|
  puts"#{key}は#{price}円です。"
end
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