A Little Each Day

note to self

Rubyで受け取った数字の時間・分・秒を計算する

こんにちは。本日はRubyで入力された数字を受け取り、その数字がそれぞれ何時間・何分・何秒なのか数値計算する方法です。

Rubyに限らずサーバーサイド言語では数値計算は基本的なものです。

このような問題はよく見かけるので初心者の方などは覚えておきましょう。

バージョン

Ruby '2.3.1'


数値を受け取ろう

Rubyでユーザーが入力した数値を受け取るには "gets.chomp" を使います。

また今回は数値を計算するので、to_iを用いり型を変換します。

受け取った数値は変数 "days" に代入しましょう。

days = gets.chomp.to_i

数値を計算しよう

今回は受け取った数字の時間・分・秒をそれぞれ求めていきたいと思います。

時間の場合

受け取った数値の時間を表すには、一日(24時間)をかけてあげれば求められます。

hours = days * 24
puts "#{hours}時間"


では実際に計算してみましょう。

ここでは試しに数字 "2" を入力してみましょう。

#ターミナル 
2 


すると2を受け取ったので変数 "days" には "2" が代入され、 "2×24" で48時間と表示されるはずです。

# 結果
48時間

分の場合

受け取った数値の分を表すには、1時間(60分)をかけてあげれば求められます。

minutes = hours * 60
puts "#{minutes}"


では実際に計算してみましょう。

すでにhoursが48時間なので "48×60" で受け取った数字の分に直した数値を求めることができます。

# 結果
2880

秒の場合

受け取った数値の秒を表すには、1分(60秒)をかけてあげれば求められます。

seconds = minutes * 60
puts "#{seconds}"


では実際に計算してみましょう。

すでにminutesが2880分なので "2880×60" で受け取った数字の秒に直した数値を求めることができます。

# 結果
172800

まとめ

今までのソースコードをまとめると


入力部分

puts '数値を入力'

days = gets.chomp.to_i

hours = days * 24
puts "#{hours}時間"

minutes = hours * 60
puts "#{minutes}"

seconds = minutes * 60
puts "#{seconds}"


出力部分

数値を入力

2  # 入力された数値

48時間  # 時間に直した数値

2880#分に直した数値

172800#秒に直した数値


となります。



本日は以上です。