FC2ブログ

ruby で数値オブジェクトの演算

ruby で数値オブジェクトの演算

#07 数値的オブジェクトの演算
http://dotinstall.com/lessons/basic_ruby/4707
を参考に
数値的オブジェクトの学習

ruby では分数を
Rational() で表す

2/3 を表すなら
x = Rational(2,3)

puts x
とすると
2/3 となるはずが

undefined method `Rational' for main:Object (NoMethodError)
となってしまう

原因は ruby のバージョンの違いで
私の場合 ubuntu ソフトウェアセンターでインストールしたため
ruby -v で確認すると
1.8.7
だった

おそらく、バージョン違いによる関数の取り扱い変更が
原因と思われるので
ruby ubuntu 1.9.3
で検索し

http://www.sssg.org/blogs/naoya/archives/2489

を参考に
sudo apt-get install -y ruby1.9.3
でインストール
これで、もう一度バージョンチェックすると
ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
で更新を確認

再度実行すると
2/3 と表示された

どうやら、バージョンの違いだったようだ

これと同様でよくあるのが Android

こっちはもっとバージョンによりAPIが変わるため
古い ver 2.2 などのアプリ作成本を参考に行うと
エラー連発になったりする
ちなみに、最新は4.2 あたりで
Nexus 7 に搭載されている

以前、Linux サーバー構築講座を受けたときに
バージョンを講座のものと同じにすることで
余計な手間がかからないし再現性ができると
あったので、これが生かせる状況になった

話がそれてきたので、rubyの演算子について

これも、ほかの言語とあまりかわらない
+ - * / % はおなじ意味
**で、べき乗となる

もし、5の2乗とするなら

x = 5 ** 2
puts x
とすると、
25 になる

ちなみに、ruby では分数の計算もできる

Rational() で分数が扱えるので
x = Rational(2,3) + Rational(5,6)
puts x
とすると
3/2
となる
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック