常用的Ruby方法

1 當(dāng)你發(fā)送消息到Ruby對(duì)象時(shí)渗勘,Ruby查詢與消息同名的方法來調(diào)用沐绒。Ruby進(jìn)行方法調(diào)用主要有兩種方式,obj.method_name 和 obj.send(:method_name)旺坠,它進(jìn)行方法調(diào)用過程如下:

查詢當(dāng)前對(duì)象的實(shí)例方法
該類引入的每個(gè)模塊(后引入的先查找)
該類的父類以及父類引入的模塊
直到Object類
通過以上路徑查找方法后乔遮,如果還找不到該方法,則調(diào)用method_missing

2 Ruby的eval功能是將一個(gè)字符串當(dāng)成代碼執(zhí)行取刃,
eval ["1","2","3"].compact.join("+")
=》6

3 defined 是用來判斷本地變量是否存在,respond_to 用來判斷對(duì)象是否能響應(yīng)指定方法蹋肮;
defined 功能還是很強(qiáng)大的,它也可以用來判斷方法是否存在

4 Ruby是一門弱類型腳本語(yǔ)言螟炫,所以常量無需指定該變量的數(shù)據(jù)類型替蔬,在使用中通常將常量的名字全部用大寫字母表示。
FINAL=100puts FINALFINAL=150puts FINAL100150
在這段代碼中定義了兩個(gè)同名的常量FINAL怨酝,在Java中崩侠,編譯器會(huì)報(bào)出錯(cuò)誤漆魔,但在ruby中不會(huì)報(bào)錯(cuò),只
會(huì)給出一個(gè)警告却音,如下:warning: already initialized constant FINAL

5 比較對(duì)象或內(nèi)容
在java常用的比較“==”改抡,“equals”。
說到比較系瓢,首先要看一下比較對(duì)象的數(shù)據(jù)類型阿纤。在ruby中數(shù)值型的有三種類型:Fixnum,Bignum夷陋,F(xiàn)loat欠拾,前兩種為整數(shù)胰锌,最后一種是浮點(diǎn)數(shù),當(dāng)整數(shù)的值小于2的30次方時(shí)清蚀,為Fixnum匕荸,大于時(shí)自動(dòng)轉(zhuǎn)換成Bignum。使用“.class”
方法可以查看當(dāng)前對(duì)象的數(shù)據(jù)類型枷邪。
num = 100puts num.class
范圍也是可以比較的榛搔。在ruby中范圍是這樣定義的
a..b:表示范圍包含a的值,b的值东揣,以及a到b之間的值践惑;
a...b:表示范圍包含a的值,以及a到b之間的值嘶卧,不包含b的值尔觉;
在ruby中范圍也是對(duì)象,是Range類的實(shí)例芥吟,Range的常用方法:
①to_a 將范圍轉(zhuǎn)換成一個(gè)數(shù)組侦铜。
②include?(a)判斷范圍中是否含有a。
③min()/first()/begin()求范圍的最小值钟鸵。
④max()/end()/last()求范圍的最大值钉稍。
Range對(duì)象還有三個(gè)常用的迭代器方法:
①reject將范圍轉(zhuǎn)換成數(shù)組,刪除滿足條件的元素
print (1..10).reject{|r| r<5}
[5, 6, 7, 8, 9, 10]
②select將范圍轉(zhuǎn)換成數(shù)組棺耍,獲取滿足條件的元素
print (1..10).select{|r| r<5}[1,2,3,4]
③each輸出范圍中的每一個(gè)元素
(1..10).each do |i| print iend12345678910
6 在其他編程語(yǔ)言中贡未,想要交換兩個(gè)變量的值,必須使用第三種變量來實(shí)現(xiàn)蒙袍;在ruby中使用并行
賦值俊卤,不用使用第三種變量。假如左邊賦值的變量多于右邊害幅,多余的變量就會(huì)置為nil消恍。同理右側(cè)多
余的也會(huì)置為nil。
a ,b="a","b"puts a,ba,b=b,aputs a,babba

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末以现,一起剝皮案震驚了整個(gè)濱河市哺哼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叼风,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棍苹,死亡現(xiàn)場(chǎng)離奇詭異无宿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)枢里,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門孽鸡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹂午,“玉大人,你說我怎么就攤上這事彬碱《剐兀” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵巷疼,是天一觀的道長(zhǎng)晚胡。 經(jīng)常有香客問我,道長(zhǎng)嚼沿,這世上最難降的妖魔是什么估盘? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮骡尽,結(jié)果婚禮上遣妥,老公的妹妹穿的比我還像新娘。我一直安慰自己攀细,他們只是感情好箫踩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谭贪,像睡著了一般境钟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上故河,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天吱韭,我揣著相機(jī)與錄音,去河邊找鬼鱼的。 笑死理盆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凑阶。 我是一名探鬼主播猿规,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼宙橱!你這毒婦竟也來了姨俩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤师郑,失蹤者是張志新(化名)和其女友劉穎环葵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宝冕,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡张遭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了地梨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菊卷。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缔恳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洁闰,到底是詐尸還是另有隱情歉甚,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布扑眉,位于F島的核電站纸泄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏襟雷。R本人自食惡果不足惜刃滓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耸弄。 院中可真熱鬧咧虎,春花似錦、人聲如沸计呈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捌显。三九已至茁彭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扶歪,已是汗流浹背理肺。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留善镰,地道東北人妹萨。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像炫欺,于是被迫代替她去往敵國(guó)和親乎完。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本周遇到較多關(guān)于時(shí)間的要求品洛,發(fā)現(xiàn)Time跟strftime用的比較多树姨,就查了記錄下。Time的常用函數(shù)時(shí)間對(duì)象. ...
    織田信長(zhǎng)閱讀 312評(píng)論 0 1
  • 高級(jí)鉗工應(yīng)知鑒定題庫(kù)(858題) ***單選題*** 1. 000003難易程度:較難知識(shí)范圍:相關(guān)4 01答案:...
    開源時(shí)代閱讀 5,781評(píng)論 1 9
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法桥状,類相關(guān)的語(yǔ)法帽揪,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法辅斟,異常的語(yǔ)法台丛,線程的語(yǔ)...
    子非魚_t_閱讀 31,639評(píng)論 18 399
  • 千百次事例殘酷地證明,無論求職或工作、旅行挽霉,口語(yǔ)決定一切!你是否擁有流暢的口語(yǔ)变汪,是判斷你是否真正掌握日語(yǔ)的唯一標(biāo)準(zhǔn)...
    大晴砸鋼琴閱讀 1,233評(píng)論 0 3
  • 黑夜從大地升起 向海面涌去 吞并了孤舟 山巒以及腳下的碎石 直至吻到了海平面 光與黑如此的和諧 御火而飛的青鸞 是...
    陌上衣熏閱讀 362評(píng)論 0 5