[ruby-list:46539] Re: ARGVの引数のデータタイプ

From: rubikitch@...
Date: 2009-11-11 08:17:05 UTC
List: ruby-list #46539
From: askar <askar75@gmail.com>
Subject: [ruby-list:46538] Re: ARGVの引数のデータタイプ
Date: Wed, 11 Nov 2009 16:58:45 +0900

るびきちです。

> #! ruby -Ku
> # -*- coding: utf-8 -*-
> 
>   def cels2fahr (cels)
>     return Float(cels) * 9 / 5 + 32
>   end
> 
>   cels = ARGV[0]
>   print "Enter temperature in Celsius: ", cels, "\n"
>   fahr = cels2fahr(cels)
>   print "Celsius = #{cels}; Fahrenheit = #{fahr}\n"
> 
> ここのプゴグラムではcels = ARGV[0]では数値として受け取られていると思って
> いました。

オブジェクトが何なのかが気になった場合は「p」で表示してみましょう。

p cels

文字列ならば "50" と表示されますし、数値ならば 50 と表示されます。

cels2fahrメソッド内で Float(cels) と書かれているので、
その部分で文字列から浮動小数点数へと変換されます。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
『Ruby逆引きハンドブック』 http://d.hatena.ne.jp/rubikitch/20090525/rubybook

In This Thread