つかぱい.com

どうせなら好きなことを書いていたい

残業代計算できるスクリプトをつくってみる、その2

github.com

とりあえず計算式を入れて簡単な掛け算をできるようにしてみた。

ちょっとよくわからなかったのは標準出力するところをgets.chompでいけるかなと思ったけどgets.to_iで変換してあげないとうまく計算できないという点

Pythonとかだと勝手に型を付けてくれる場所だったのでちょっと変な感じがしたけどとりあえず動いたからいいかな

ソースはこんな感じにしてシンブル目にしておいてあとで改良しようと思う

#!/bin/env ruby

## ----------------------------
# ユーザからのキーボードの入力を受け取り、
# yes と入力されたらスクリプトを実行する、no と入力されたらスクリプトを終了します.
## ----------------------------

class ConfirmExecutionClass

  def initialize

    puts <<-EOT
----------------------------
自分の残業代を計算しますか?
計算する場合は yes、キャンセルする場合は no と入力して下さい.
    EOT

  end

  def get_keyboard_input_yes_no

     case gets.chomp
       when "yes", "YES", "y"
         puts "  計算を実行します."
       when "no", "NO", "n"
         puts "  スクリプトを終了します."
         exit 1
       else
         puts "  yes または no を入力して下さい."
         confirm = ConfirmExecutionClass.new
         confirm.get_keyboard_input_yes_no
     end
   end

   def calc_money
        # 計算する場所
        puts <<-EOT
----------------------------
基準とする時給を入力してください
入力例:)1250
   EOT
        base_monoey = gets.to_i
        puts <<-EOT
----------------------------
仕事をした時間を入力してください。
入力例:)80
   EOT
        money_time = gets.to_i
       #計算結果を返す
       result = base_monoey * money_time
       puts "あなたの残業代は #{result} 円です"
   end
end


confirm = ConfirmExecutionClass.new()
confirm.get_keyboard_input_yes_no
confirm.calc_money