婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ruby 雜項

ruby 雜項

熱門標簽:外呼線路從哪里出來的 中牟外呼系統(tǒng)違法嗎 巫師3地圖標注魔力之所 天津外呼系統(tǒng)怎么收費 淮安自動外呼系統(tǒng)供應商 征服者企業(yè)地圖標注 漯河電銷 柯城手機地圖如何做地圖標注 AI電銷機器人 線路
本章處理一些實際問題.

語句定界符

有些語言需要一定類型的標點,一般會是分號(;)來結束程序的每一語句.Ruby卻采用了shell里的sh和csh的方便做法.一行中的多個語句由分號分開,但在行尾分號卻并不需要;一個換行被看作一個分號.如果行以反斜杠(\)結束,隨后的換行將忽略;這就允許你的單個邏輯行可以跨越數(shù)行.

注釋

為什么寫注釋?雖然良好的代碼可自成文檔,但那種自以為別人能看懂并按你的方式很快去理解的想法是錯誤的.除此之外,你自己在離開數(shù)天后也會是另一個人;一段時間后我們忘了我們還未修補或增強程序中的哪些部分,你會說,我知道我寫了這個的,但我究竟寫的是些什么?

一些有經(jīng)驗的程序員會相當正確地指出,矛盾的和過期的注釋比沒有強.當然,有了注釋并不意味著代碼的可讀性;如果你的代碼不清晰,它也許是多蟲的.當你學習Ruby的時候,你會發(fā)現(xiàn)自己需要更多的注釋;然后當你可以通過更簡單,優(yōu)雅,可讀的代碼來表達思想時,它們就會減少.

Ruby遵從一些普遍的書寫習慣,用井號(#)表示注釋的開始.跟在#號后面直到#號這行結束為止的代碼都將被解釋器忽略.

同時,為了方便寫大塊的注釋, Ruby解釋器省略以"=begin"和"=end"開始的行中間的一切.

#!/usr/bin/env ruby
=begin
**********************************************************************
  This is a comment block, something you write for the benefit of
  human readers (including yourself).  The interpreter ignores it.
  There is no need for a '#' at the start of every line.
**********************************************************************
=end  


組織你的代碼

Ruby讀到什么就處理什么.沒有編譯處理;如果有什么還沒讀到,就被簡單地認為未定義.

# this results in an "undefined method" error:
print successor(3),"\n"
def successor(x)
  x + 1
end  


這并不是像一開始認為的那樣,強迫你以從上至下的方式組織你的代碼.只要你確保其在調(diào)用前將被定義,當解釋器遇到一個方法定義時,它能安全地接受暫未定義的引用.

# Conversion of fahrenheit to celsius, broken
# down into two steps.
def f_to_c(f)
  scale(f - 32.0)  # This is a forward reference, but it's okay.
end
def scale(x)
  x * 5.0 / 9.0
end
printf "%.1f is a comfortable temperature.\n", f_to_c(72.3)  


所以,一方面看起來比使用Perl或Java要稍稍不方便一些,但卻沒有寫C那么嚴格(要求你永遠維持所指的部分排序).將最高層的代碼放在源文件的最后總是可行的.即使這樣也比看見時要好的多.一個明智而無痛苦的好辦法是將main定義在文件頂端,再在底端調(diào)用它.

#!/usr/bin/env ruby
def main
  # Express the top level logic here...
end
# ... put support code here, organized as you see fit ...
main # ... and start execution here.  


Ruby也提供了將復雜程序分割為可讀,可重用,邏輯相關的大塊的工具.我們已看到用 include 來訪問模塊.你將發(fā)現(xiàn) load 和 require 也很有用.load的作用類似于文件的復制加粘貼(和C的#include處理器指令相似).require更復雜,僅在需要時才加載,而且最多加載一次.load和require還有其它一些區(qū)別;在語言手冊,FAQ中可找到更多信息.

就是這些了...

這個教程應該足夠幫助你開始編寫Ruby程序了.隨著問題的深入,你可以深入?yún)⒖际謨?FAQ和庫參考也是很重要的資源.

祝好運,編程快樂!

標簽:克拉瑪依 河池 內(nèi)江 棗莊 西雙版納 大慶 南昌 甘孜

巨人網(wǎng)絡通訊聲明:本文標題《ruby 雜項》,本文關鍵詞  ruby,雜項,ruby,雜項,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ruby 雜項》相關的同類信息!
  • 本頁收集關于ruby 雜項的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 江源县| 金昌市| 临洮县| 长顺县| 江达县| 诸暨市| 望城县| 昭苏县| 墨竹工卡县| 高清| 濉溪县| 临清市| 普安县| 海安县| 治县。| 新疆| 上高县| 米易县| 奇台县| 华阴市| 溧阳市| 固阳县| 门源| 新龙县| 凤翔县| 镇赉县| 富源县| 修水县| 射洪县| 无为县| 来凤县| 六盘水市| 湖州市| 汝阳县| 若羌县| 日照市| 布拖县| 敦化市| 天水市| 荣成市| 扶沟县|