原文:http://willh.org/cfc/wiki/index.php/%E6%96%B0%E6%89%8B%E6%95%99%E5%AD%B8:%E5%9F%BA%E6%9C%AC%E8%AA%9E%E6%B3%95
新手教學(xué):基本語(yǔ)法
1.保留字
BEGIN???? do????? next??? then
END?????? else??? nil???? true
alias???? elsif?? not???? undef
and?????? end???? or????? unless
begin???? ensure? redo??? until
break???? false?? rescue? when
case????? for???? retry?? while
class???? if????? return? yield
def?????? in????? self??? __FILE__
defined?? module? super?? __LINE__
2.注釋
寫程序時(shí)常常會(huì)用到注釋,以便日后在觀看程序時(shí)可以快速回想該行(段)代碼有何用處
在Ruby,寫注釋可以用一個(gè)“#”號(hào)
#這是注釋
還可以用=begin跟=end來(lái)包住要注釋的文字
=begin
這是注釋文字
這是第二行
=end
3.數(shù)值
數(shù)值的表示方法與其它程序語(yǔ)言沒(méi)有太大差異
Ruby支持大數(shù)(Bignum),Fixnum,浮點(diǎn)數(shù)(Float)
整數(shù)
123? #十進(jìn)制
1_234 #有底線的十進(jìn)制
O377 #很顯然的,八進(jìn)制
Oxff #當(dāng)然是16進(jìn)制啦
Ob1011 #0跟1組成的二進(jìn)位
?a #打印出a的Ascii Code
12345678901234567890 #大數(shù)
浮點(diǎn)數(shù)
123.4 #如你所見(jiàn),小數(shù)
1.0e6 #科學(xué)符號(hào)
4E20? #沒(méi)用到“點(diǎn)(.)"
4e+20 #指數(shù)前的符號(hào)。
4.字符串
字符串是一組String類別
”abc“ --雙引號(hào)字符串允許取代轉(zhuǎn)義字符。
‘a(chǎn)bc’ --單引號(hào)字符串不運(yùn)行取代取代轉(zhuǎn)義字符。
連接字符串
”foo“ ”bar“? #等同于”foobar“
表示式取代
#$var跟#@var是#{$var}跟#{@var}的縮寫。用#{$變量名稱}或者#{@變量名稱}把變量嵌入
到字符串中。
5.數(shù)組
數(shù)組的寫法
[] #一個(gè)空數(shù)組
[1,2,3]#含有三個(gè)元素的數(shù)組
[1,[2,3]] #含有數(shù)組的數(shù)組
你可以用以下方法寫數(shù)組
%w(foo bar baz) #["foo","bar","baz"]
6.哈希表
一個(gè)哈希表是鍵和值的集合
{"id"=>"XY1000","name=>"Ruby","age"=>10}
7.變量
在Ruby中,有五中的變量形態(tài):全局變量(Global variable),Instance variable,類變量(class
variable),局部變量(local variable)與常數(shù)。
全局變量:
?開(kāi)頭加上"$"
???? $foo
Instance Variable
?開(kāi)頭加上"@"
??@foo
??
類變量
?開(kāi)頭加上"@@"
??@@foo
??
局部變量
?什么都沒(méi)加
??foo
??
常數(shù)
?Foo
?
8.常數(shù)
常熟要怎樣定義呢?在ruby中不用Const或者const來(lái)定義一個(gè)常數(shù)
在ruby中,只要名稱開(kāi)頭是”大寫“,就是常數(shù)!定義一個(gè)常熟為Foo:
Foo
9.流程控制
conditional是條件
if:
?if conditional [then]
??code
?[elsif conditional [then]
??code]
?[else
??code]
?end
?code if conditional
unless:
?unless conditional [then]
??code
?[else
??code]
?end
?code unless conditional
case:
?case expression
??[when expression[, expression...] [then]
??code]...
?[else
??code]
?end
while:
?while conditional [do]
??code
?end
?begin
??code
?end
until:
?until conditional [do]
??code
?end
?begin
??code
?end until conditional
for:
?for variable[, variable...] in expression [do]
??code
?end
Foreach:
?expression.each do |variable[, variable...]| code end
?
?
?
?
?