關鍵字
def undef 方法定義
module 模組定義
class 類定義
defined? 檢查類型
條件陳述式 if,then,else,elsif,case,when,unless
迴圈語句 for ,in,while,until,next,break,do,redo,retry,yield
邏輯判斷 not ,and ,or
邏輯或空值 true,false,nil
異常處理 rescue,ensure
對像引用super ,self
嵌入模組BEGIN END
塊的起始 begin/end
檔案相關_FILE_ _LINE_
方法返回return
別名 alias
符號
; 用來分隔多語句
()定義方法時容納參數列表
,隔開多個參數
.將對象歸與它的方法分開
::域作用符號,將(模組)類與它的常量隔開
運算子
[] []=數組下標,數組賦值
** 乘冥
!~ + - 非,位非,一元加 負號
* / % 乘 除 模
+ - 加 減
>> << 右移 左移
& 位與
^| 位異或 位或
<= < > >= 小於等於 小於 大於 大於等與
<==> == === =~ != !~ 各種相等判斷
&& 短路與
|| 短路或
.. ... 區的開始到結束點,第二個不包括尾
?: 三元條件運算子
全域變數由$開頭.它們可以在程式的任何位置訪問到.在初始化前,全域變數有一個特殊的值 nil.
這裡列出了一些以$打頭並跟單個字元的特殊變數.比如,$$包含了Ruby解譯器的進程id,它是唯讀.這裡是主要的系統變數以及它們的含義(細節可在Ruby的參考手冊中查到):
$! 最近一次的錯誤資訊
$@ 錯誤產生的位置
$_ gets最近讀的字串
$. 解譯器最近讀的行數(line number)
$& 最近一次與Regex匹配的字串
$~ 作為子運算式組的最近一次匹配
$n 最近匹配的第n個子運算式(和$~[n]一樣)
$= 是否區別大小寫標誌
$/ 輸入記錄分隔字元
$\ 輸出記錄分隔字元
$0 Ruby指令碼的檔案名稱
$* 命令列參數
$$ 解譯器進程ID
$? 最近一次執行的子進程退出狀態
=begin
樣本:win32api操作
=end
require 'dl'
User32 = DL.dlopen("user32")
MB_OKCANCEL = 1
message_box = User32['MessageBoxA', 'ILSSI']
r, rs = message_box.call(0, 'OK?', 'Please Confirm', MB_OKCANCEL)
case r
when 1
print("OK!\n")
when 2
print("Cancel!\n")
end
system($*[0]) #命令列接收參數 $*[0]全域變數
File.open('c:\\boot.ini').ecah do |line|;puts line; end #讀取全部內容
arr=File.readlines('c:\\boot.ini');puts arr[0] ) #唯讀第一行
File.open('c:\\boot.ini') do |f1| #另一種方法,唯讀第一行
while line=f1.gets
puts line
break
end
end
#寫檔案
File.new('c:\1.txt',"w").puts 'message'