BETA

Ruby ターミナル内アプリの作り方④ (おまけ)

投稿日:2020-09-04
最終更新:2020-09-04

今回はTwitterで知り合ったあっこさんに教えて頂いた、
八百屋さんアプリの作り方をまとめていきます。

八百屋さんアプリ(おまけ)

インスタンス変数が理解できると。。
色々なモノをクラスに入れたくなりませんか??
わたしはなります!!!
コード前回作ったコードで each 文の合計金額もメソッドにいれてしまおう!!!

class Menu  
  attr_reader :name  
  attr_reader :price  

  def initialize(**params)  
    @name = params[:name]  
    @price = params[:price]  
  end  

  def info  
    return "#{@name} #{@price}円"  
  end  

  def get_total_price(count)  
    total_price = @price * count  
    if count >= 5  
      puts "5個以上なので20%割引となります"  
      total_price *= 0.8  
    end  
    return total_price.to_i  
  end  
end  

menus = [  
  Menu.new(name: "とまと", price: 100),  
  Menu.new(name:"にんじん", price: 200),  
  Menu.new(name:"かぼちゃ", price: 300),  
  Menu.new(name:"スイカ", price: 1000)  
]  

menus.each.with_index(1) do |menu,i|  
  puts "#{i}.#{menu.info}"  
end  

print "商品を選択 > "  
order = gets.chomp.to_i  
select_menu = menus[order - 1]  

print "#{select_menu.name}ですね。何個買いますか。>"  
count = gets.chomp.to_i  

puts "合計金額:¥#{select_menu.get_total_price(count)}"  

そんなわけで、infoメソッドを作成して。。
each 文に入れてみたら。。
なかなかすっきりしていい感じにまとまった気がする。。

さて。。挫折間際の自分の勉強に戻ります。。
気分転換にアウトプットすると、また頑張ろうと思えるから好き。。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

アラフォーから始めるプログラミング!!!目指せエンジニア☆☆

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう