例如以下程式計算兩個複數
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 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:stddemo.rb 功能:示範 Ruby 程式 作者:張凱慶 時間:西元 2012 年 12 月 =end
執行結果如下
另外像預設的浮點數會有誤差,這時使用 bigdecimal 就可以避免誤差的產生,例如
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 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名: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
沒有留言:
張貼留言