suzukinpの忘備録

AWS/Linux/グルメ

AWSフルコース04月度(2週目)②

前回、Rubyのサンプルプログラムを、paiza.ioで実行してみたところ、入力された変数(num)が文字列として認識されていて、そういうものかなと思ったけど、RubyMineで実行したら同じコードでエラーになってしまった。

Rubyでは変数を宣言しないので、明示的な変換で対応するらしい。

Rubyの変数には型がなくて、代入する値によって変数のデータ型が決まるというのは分かるんだけど、何となく宣言しないとモヤモヤする。。
それは、困るとか困らないとかじゃなくて完全に気持ちの問題。
例えば、翻訳のミステリ小説には、登場人物の名前と立場の一覧が載っているページがあるけど、それがないイメージ。

あと、見直してみたら全体的に変だったので下記に修正。

#1-3の挨拶を出力するクラス
class Communication
  def greet1
    puts "あなた:おはようございます!!"
  end
  def greet2
    puts "あなた:うぃっす~"
  end
  def greet3
    puts "あなた:おはよー"
  end
  def greet4
  	puts "あなた:何だキミは!"
  	puts "???:何だチミはってか?えぇ? そうです、私が変なおじさんです!"
  	puts "???:変なお~じさんだから、変なお~じさん・・・"
  	puts "???:だっふんだ!"
  end
end
#自作の例外クラス
class NumberError < StandardError
end
#↓↓ここから処理↓↓
puts "あなたが出社した時、会った人は誰ですか?"
puts "1.上司"
puts "2.同期"
puts "3.後輩"
puts "4.???"
print "数字を入力してください:"
num = gets
#データ型がintegerでない場合、integerへ変更
if num.is_a?(Integer)
else
  num = num.to_i
end

communication1 = Communication.new
if num == 1
  	communication1.greet1
elsif num == 2
  	communication1.greet2
elsif num == 3
  	communication1.greet3
elsif num == 4
	communication1.greet4
else
  begin
    raise NumberError
  rescue
    puts "1~4の数字を入力してください"
  end
end

 

GitHubはGitインストール等はできたけど、RubyMineとの連携が上手くいかず、違うフォルダがアップロード?されて設定が良く分からない。。
Gitってその説明だけで専門書があるぐらいだし、初心者には敷居が高いなぁ。
FFFTPみたいな感じで軽く考えてたけど結構難しい。