
例如以下程式計算兩個複數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | require "complex" v1 = Complex( 2 , 3 ) v2 = 2 .im puts v1 + v2 puts v1 * v2 puts v2** 2 puts Math.sin(v1) puts v1 == v2 puts v2** 2 == - 4 = begin 《程式語言教學誌》的範例程式 檔名:stddemo.rb 功能:示範 Ruby 程式 作者:張凱慶 時間:西元 2012 年 12 月 = end |
執行結果如下

另外像預設的浮點數會有誤差,這時使用 bigdecimal 就可以避免誤差的產生,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | sum1 = 0 for i in ( 1 .. 10000 ) sum1 = sum1 + 0 . 0001 end puts sum1 require 'bigdecimal' sum2 = BigDecimal.new( "0" ) for i in ( 1 .. 10000 ) sum2 = sum2 + BigDecimal.new( "0.0001" ) end puts sum2.to_i = begin 《程式語言教學誌》的範例程式 檔名:stddemo2.rb 功能:示範 Ruby 程式 作者:張凱慶 時間:西元 2012 年 12 月 = end |
sum1 與 sum2 都分別由 0.0001 累加 10000 次到 1 , sum1 為內建預設的數字型態, sum2 則是使用 bigdecimal 中的 BigDecimal 型態,程式執行結果如下

內建數字型態的誤差雖然很小,但還是存在,反而使用標準程式庫的 bigdecimal 就沒有誤差的問題了。
其他還有日期、資料庫、網路處理、圖形介面...等等,有很多很多有用的東西都在裡頭。對了,我們要為 Encrypt 類別設計一個圖形介面 (graphical interface) , Ruby 的標準程式庫亦有提供一個圖形介面的程式庫 Tk ,我們先來看看 GUI 的基本概念囉!
中英文術語對照 | |
---|---|
圖形介面 | graphical interface |
程式區塊 | block |
實體變數 | instance variable |
參數 | parameter |
格子式幾何版面管理 | grid geometry manager |
您可以繼續參考
軟體開發
相關目錄
回 Ruby 入門指南
回 Ruby 教材
回首頁
參考資料
http://www.ruby-doc.org/stdlib-1.9.3/
http://www.ruby-doc.org/docs/ProgrammingRuby/html/lib_patterns.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/lib_standard.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/builtins.html
沒有留言:
張貼留言