• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
              C++博客 :: 首頁 ::  :: 聯系 ::  :: 管理

            Exploring Ruby I:Name Conventions

            Posted on 2006-09-29 18:56 chenger 閱讀(440) 評論(0)  編輯 收藏 引用 所屬分類: Programming Stuff
            Ruby中的名字約定

            歷史:高級程序語言的老祖宗,Fortran,對源程序中的名字,或者叫標識符(identifier)有很嚴格的規定,譬如首字母代表變量的類型等等。個人認為這是當年編譯技術還未成熟時的權宜之計。后來主流的程序設計語言都放松了對名字的限制,像C/C++/Java,只有一點點小小的約束(對所用字符的限制:只能使用英文字母、數字、下劃線,必須以下劃線或英文字母開頭。這也容易理解,完全是為了寫詞法分析器的方便)。而和Fortran同時代的Lisp,這方面更是大開綠燈,愛怎么定義怎么定義。然而到了現在,似乎有點復古的潮流,有些語言開始對名字設立一些規則,比如Haskell,Erlang,包括Ruby。

            言歸正傳。Ruby中的名字規則主要是根據名字的第一個字母來決定這個名字的使用方式。具體來說,
            • 局部變量,方法名,方法參數:以小寫字母或下劃線開頭,以'_'連接。
              Example:i,note_controller
            • 常量:全部大寫,以'_'連接
              Example:A_NUM
            • 類,模塊(module):都是開頭大寫(因為類名是全局變量),其他小寫并且直接連接在一起
              Example:ActiveRecord
            • 全局變量:以'$'開頭(肯定是跟Perl學的,我覺得不怎么好)
            • 實例變量(instance variable):以'@'開頭(同上)
            • 類變量(class variable):以'@@'開頭(詭異)
            有點Perl的味道,但Perl更加變態,居然要以首字母區分標量、數組和Hash表,這就不太人道了。相比起來,Ruby的設置還是可以接受的,它只不過是把有些約定俗成的規則直接變成了語言規則。每個程序員基本上都會有自己的一套命名規則,比如寫C++程序時,類名通常用大寫字母開頭,宏名則通常由大寫字母組成,而下劃線開頭的(特別是雙下劃線)往往留給庫開發者等等。Ruby的想法可能是:干脆統一了這些命名規則,免得人們為這種風格(Style)問題爭論不休。也是挺有道理的。
            久久青青草原精品国产不卡 | 一本一道久久精品综合| 久久久久国产精品| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 亚洲精品NV久久久久久久久久| 伊人久久五月天| 99久久99这里只有免费的精品| 久久精品夜色噜噜亚洲A∨| 日日躁夜夜躁狠狠久久AV| 亚洲国产成人久久综合碰碰动漫3d| 香港aa三级久久三级老师2021国产三级精品三级在 | 国产精品国色综合久久| 欧美亚洲另类久久综合婷婷| 久久久久亚洲av无码专区喷水| 91久久国产视频| 久久亚洲日韩精品一区二区三区| 久久一区二区免费播放| 国产精品久久免费| 午夜精品久久久久久99热| 伊色综合久久之综合久久| 久久国产精品一区| 国产精品99久久久久久猫咪| 国产精品久久久久久搜索| 亚洲精品无码专区久久久| 久久中文字幕人妻熟av女| 性做久久久久久久久| 国产成人精品久久亚洲高清不卡 | 久久久久成人精品无码中文字幕 | 性做久久久久久久久浪潮| 久久99毛片免费观看不卡| 91精品国产综合久久精品| 久久久老熟女一区二区三区| 国内精品久久久久影院老司| 无码人妻久久一区二区三区蜜桃| 欧美亚洲另类久久综合婷婷| 久久精品女人天堂AV麻| 伊人久久综合热线大杳蕉下载| 国产精品嫩草影院久久| 久久精品国产99久久丝袜| 久久免费大片| 国产色综合久久无码有码|