Ruby 入門指南 - 認識標準程式庫及 Tk

Ruby 已經內建絕大多數常用的類別 (class) ,需要時可以直接使用,但有少數功能並沒有內建,需要先 require 才能使用




例如以下程式計算兩個複數
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


sum1sum2 都分別由 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

沒有留言: