''與""的區別:''處理的少,""處理的多,""可以加入#,如果expression是乙個例項變數類變數或者是全域性變數,{}可省略。
全域性變數$開頭,例項變數@開頭,類變數@@開頭
類名,模組名,常量以大寫字母開頭,用駝峰表示法寫如class karaokesong
@之後不能跟數字
例項變數用_把單詞隔開
方法名可以以?!=字元結束
陣列和雜湊表
陣列中a=%訪問a[0],a[1]...
用%可以省略''和逗號
雜湊表中a=
key必須唯一,訪問方法:a['key1']->value1
控制結構:
if ; while
if expression
action
endwhile expression
action
end-----------<=>
action if expression
action while expression
正規表示式/.../:
/a+b/--------1個或多個a後是b(並不是以b結尾)
/a*b/-----------0個或多個a後是b(並不是以b結尾)
\s匹配空白符(如空格符,製表符,回車等等)#space
\d匹配任何數字 #digital
\w匹配會出現在乙個詞內的任何字元 #word
. 匹配幾乎任意字元
使用regexp: =~來得出是否匹配
例:if line=~/.../
...sub 和 gsub(substitution)替換命令,用法:
line.sub(/perl/,'ruby')用ruby替換第乙個'perl'
line.gsub(/perl/,'ruby')用ruby替換所有的'perl'
#block和迭代器
單行block用{},多行用do..end
用法:def call_block
puts "start of method"
yield
yield
puts "end of method"
endcall_blcok
輸出:start of method
in the block
in the block
end of method
yield還可以呼叫引數傳遞給block,
def call_block
yield("hello",99)
endcall_block
block實現迭代器(iterator)
陣列.each
5.times
3.upto(6)
Ruby語法了解
三 流程控制 1 條件控制 if 條件表示式 operation1 elsif operation2 else operation3 end unless 條件表示式 operation2 else operation1 end 與if流程相反 2 分支控制 case 表示式 when 值1,值2 ...
Ruby語法小記
0 基本語法 1 輸出 2 輸入 3 基本型別 ruby是沒有型別的,賦值成什麼就是什麼型別。比如 subtotal 100.00,taxrate 0.15,sum 100,name fread 4 全域性變數 在變數前加符號 表示全域性變數。5 類 成員變數 類方法 類例項 object clas...
Ruby 語法講解
讓我們編寫乙個簡單的 ruby 程式。所有的 ruby 副檔名都是.rb。所以,把下面的源 放在 test.rb 檔案中。usr bin ruby w puts hello,ruby 在這裡,假設您的 usr bin 目錄下已經有可用的 ruby 直譯器。現在,嘗試執行這個程式,如下所示 ruby ...