ruby初級語法知識

2021-08-22 20:33:54 字數 1372 閱讀 6010

''與""的區別:''處理的少,""處理的多,""可以加入#,如果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 ...