也不知道算不算翻譯,我也不懂日語,看**瞎猜的,隨後會附上完整的翻譯,朋友已經幫忙翻譯去了。哈哈
[url]
一。縮排
縮排應該是2個字元,這個是公認的。比如:
if x > 0二。每行最多字元不能超過80個。if y > 0
puts "x > 0 && y > 0"
endend
三。空行,意思大概就是類和類之間,方法和方法之間,塊之間要空行。比如:
class foo...endclass bar
...end
你要這麼像下面這麼寫就不規範啦:
class foo...endclass bar
...end
四。沒個類中,第一行**和最後一行**不能和類宣告,類結束符號(end)之間有空行。比如:
51cto這裡顯示有問題啊
class foo
attr :bardef baz
...end
def quux
..end
end
下面是錯誤的示範:
class foo
attr :bardef baz
...end
def quux
...end
end
五。好像是為每個方法加注釋吧,是為了方便生成rdoc。比如:
# コンマ區切の文字列+str+を分割し、結果を配列にして返す。def split_csv(str)
return str.split(/,/)
end
省略一些看不懂的。
六。方法在有引數的時候要加上括號,雖然可省略。在沒有引數的情況下,不加括號。比如:
def foo(x, y)...enddef foo
...end
下面是錯誤的示範:
def foo x, y...enddef foo()
...end
七。定義類方法應該用self。比如:
class foodef self.foo
...end
end
下面是錯誤示範:
class foodef foo.foo
...end
end
八,還是方法括號的方面,看**(方法呼叫的時候不要省括號,沒有括號的不要亂加,print,puts等場合可以省略):
foo(1, "abc")obj.foo(1, "abc")
barprint "x = ", x, "\n"
下面是錯誤的示範:
foo 1, "abc"obj.foo 1, "abc"
bar()
九。基本的do...end使用,用在分行寫塊的時候。比如:
foo(x, y) do...endx = bar(y, z) do
...end
下面是錯誤示例:
foo(x, y)x = bar(y, z)
十。塊**寫在一行的時候應該用{},而不使用do...end。比如:
s = ary.collect .join(",")
錯誤示例:
s = ary.collect do |i| i.to_s end.join(",")
十一。returen的使用。在返回表示式的時候要用returen,return不加括號。比如:
def add(x, y)return x + y
end
錯誤示例:
def add(x, y)x + y
enddef add(x, y)
return(x + y)
end
寫到這,我才發現上篇blog裡(tdd如何工作)的**不規範啊。
十二。yield。這沒例子,看不太懂。
十三。條件語句使用。看**(條件簡單的要用修飾句):
if x > 0puts "x > 0"
else
puts "x <= 0"
endunless x
puts "x is false"
endputs "x is true" if x
錯誤的例子:
if x > 0 thenputs "x > 0"
endunless x
puts "x is false"
else
puts "x is true"
endputs "foo && bar && baz && quux" if foo &&
bar && baz && quux
十四。case使用。比如:
case xwhen 1
...when 2
...end
錯誤示例:
if x == 1...elsif x == 2
...endcase x
when 1 then
...when 2 then
...end
十五。又是條件語句使用。比如:
if x > 0msg = "x > 0"
else
msg = "x <= 0"
end
錯誤示例:
msg = if x > 0"x > 0"
else
"x <= 0"
end
十六。迴圈語句使用,省略do。
while cond...enduntil cond
...end
錯誤示例:
while cond do...end
十七。無限迴圈的時候用loop..do
loop do...end
錯誤示例:
while true...end
還有一些命名規範。。以後再補充吧。。。
注:文中所說的「錯誤示例」,是指**不規範,那種用法其實是可以用的。
ruby的命名規範
ruby的標識名用來指向常量,變數,方法,類和模組。標識名的首字元用來 幫助我們確定標識所指向內容的作用域。一些標識名,就是上面所示的關鍵字,不 能用來當作常量,變數,方法,類或模組的名字。ruby的標識名區分大小寫。ruby使用乙個約定來幫助它區別乙個名字的用法 名字前面的第乙個字元表明這個名字的...
ruby的命名規範
ruby的標識名用來指向常量,變數,方法,類和模組。標識名的首字元用來 幫助我們確定標識所指向內容的作用域。一些標識名,就是上面所示的關鍵字,不 能用來當作常量,變數,方法,類或模組的名字。ruby的標識名區分大小寫。ruby使用乙個約定來幫助它區別乙個名字的用法 名字前面的第乙個字元表明這個名字的...
嘗試ruby程式設計
1.安裝好ruby1.8.7 在命令列中ruby v 顯示版本號,就說明ruby已經安裝好了。雙擊路徑下的irb.bat檔案,進入命令視窗,進行互動式ruby 2.簡單用法 1 puts puts hello world 回車 hello world puts 1 3 4puts 2 3 6 2 d...