tomの開発メモ

pythonやrubyやjavascript他の学習をメモしていく日記。その他、デイリーで起こったことの殴り書き。

ruby基礎のメモ(1)

それなりに時間をとって勉強し直すことにしたので、知っていること・わかっていると思うことでも書き起こし。

ダブルクォーテーションとシングルクォーテーション

name = "suzuki"
puts("#{name}")
puts('#{name}')

出力すると以下になる。singleだと、そのままの文字列を返す。

suzuki
#{name}

printとputs

print 'hello (print)' # 改行なし出力
puts 'hello(put)' # 改行あり出力

出力すると以下になる。コメントの通り、改行が入るか、そうでないか。

hello (print)hello(put)

数値処理関連

22.odd?
22.even?

それぞれ、False,Trueで返ってくる。直感的。

x = "10"
y = 10

# 変数xを数値に変換し、5を足して出力
puts x.to_i + 5

# 変数yを文字列に変換し、文字列と連結したものを出力
puts y.to_s + ""

出力は以下になる。s=string,i=int。

15
10人
5.times{print'321:'}

出力は以下になる。{}の中を5回繰り返す、ということ。

321:321:321:321:321:

メソッド

def multiply(n,m)
  n.to_f * m.to_f
end

puts multiply(5,4)

def hogehoge のあとにPythonのような「:」はいらない。return hoge もなくてOK。endは必要。
出力は「20.0」になる。

IF

prompt = gets.chomp

if prompt=="1"
  puts("1 selected")
  
elsif prompt=="2"
  puts("2 selected")
  
else 
  puts("invald")
  
end

promptに入力された条件によって分岐。