RubySilverの勉強中疑問に思ったことがあったので備忘録として記していきます。
##to_s と to_i 使い方
to_s => 数値を文字列に変換
to_i => 文字列を数値に変換
例
n = 8
puts n.to_s #文字列に変換
# => 8
n = "8"
puts "8".to_i # 数値に変換
# => 8
##to_s と to_i に引数を設定
to_s と to_i に引数を設定することで基数を変えることができます。
to_s にも使えることは少し驚きでした。
下記の1つ目の例を解説すると
10進数の8を2進数で表すという処理を行っています。
2つ目は2進数の8を10進数で表すという処理を行っています。
2進数は0と1で表すので無視されます。よって、0が出力されます。
3つ目は2進数の100を10進数で表すという処理を行っています。
ここで100は百ではなく100という文字列であることに注意してください
例
n = 8
puts n.to_s(2)
# => 1000
n = "8"
puts n.to_i(2)
# => 0
n = "100"
puts n.to_i(2)
# => 4