Webエンジニア目指して#32

どうもスマホ画面割れマンです。
退職日前日の12/30、同部署80人余りの各位へ直接お別れの挨拶とお菓子を渡して、応援の言葉もたくさん貰って、仕事でも色々と成果残してやることもやりきってすごい晴れ晴れとした気分で晩飯にカップ麺食ってたんですけど、机の上からスマホがずり落ちて割れました。
丁度使ったドライヤーを足元に置いててその角にクリティカルヒットしました。
グローバル版だったもんでfelicaが使えず国内版に買い換えようか迷っているところではありましたが、きっかけがこんな残念なものとは・・・78000円で得たというより補填した感覚が勝ってます 画面修理だけでも50000円超えますからね、転活真っ最中なのでサイフポイントへのダメージが痛いです

整理整頓は本当に大事ですね。
さあやっていきましょうProgate Ruby IVの続きですね

ファイルの分割
require "./class_foods

同じディレクトリにclass_foods.rbというファイルがある場合、これでjsで言うところのimportができる(拡張子の.rbは記述不要)

class名の先頭大文字で気になって調べてみたところ、推奨の命名規則があるらしくファイル名もcamel_caseの命名規則がありました。
命名規則とは解読する際に役割の判別をしやすくするものらしいです。

インスタンスと配列
class Foods
  attr_accessor:name
  attr_accessor:number

  def initialize(name:,number:)
    self.name=name
    self.number=number
  end

  def show_text
    if self.number>50
      return "#{self.name}は過剰在庫です(#{self.number}個)"
    end
    return "#{self.name}は過剰在庫ではありません(#{self.number}個)"
  end
end

food1=Foods.new(name:"apple",number:60)
food2=Foods.new(name:"orange",number:30)
food3=Foods.new(name:"banana",number:10)

foods_alley=[food1,food2,food3]

foods_alley.each do |food|
  puts food.show_text
end
実行結果-----------------
appleは過剰在庫です(60個)
orangeは過剰在庫ではありません(30個)
bananaは過剰在庫ではありません(10個)

生成したインスタンスを配列に格納してeach処理で在庫確認メソッドを動かしてます。ここで知ったんですけど、配列は後から格納できるんですね

getsメソッド
puts "なにか入力してEnterで確定してください"
test=gets.chomp
puts "#{test}が入力されました"

実行するとこうなる↓

f:id:misokatsu_sand:20210123173711g:plain
getsだけでも使えますが↓のように改行されてしまいました

aiueo
が入力されました

chompは改行をなくすメソッドみたいですね
また、getsは文字列として取得されるため
数値を取得したい場合はgets.chomp.to_iにする必要あり
to_iはintegerに変換するメソッドです
数値以外を入力すると0が取得されてしまうので、実際に使う場合は一工夫要りそう

Ruby IVはここまで!筆が乗っちゃって(?)自分で色々駆使したまとめを作ったんですが、欲張りすぎて情報量が多いので別枠にします

ではでは〜