日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Ruby對象初始化方法介紹

Ruby語言使用中完全面向?qū)ο蟮慕忉屝湍_本語言,其特點(diǎn)在于沒有函數(shù),只有各種方法。在這里,我們將會看到Ruby對象初始化的一些方法介紹。#t#

正安網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),正安網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為正安1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的正安做網(wǎng)站的公司定做!

Ruby對象初始化之initalize方法

當(dāng)Ruby創(chuàng)建一個(gè)新對象時(shí),它總是會尋找一個(gè)名為 initialize 的方法并執(zhí)行它.因此,我們可以簡單通過一個(gè)initialize方法向?qū)嵶兞恐屑尤肴笔≈?這樣一來, inspect方法就有東西可說了.

  1. ruby> class Fruit
  2. | def initialize
  3. | @kind = "apple"
  4. | @condition = "ripe"
  5. | end
  6. | end
  7. nil
  8. ruby> f4 = Fruit.new
  9. "a ripe apple"

將缺省的變?yōu)樾枰?/strong>

很多時(shí)候,缺省值不會有太多的意思.真的是缺省那樣的水果嗎?也許在創(chuàng)造水果的時(shí)候?qū)ζ漕愋妥饕笫莻€(gè)更好的辦法.要這樣做,我們就必須給initialize 方法加入一個(gè)正式的參數(shù).因?yàn)橐恍┎粫诖颂峒暗脑?你向 new 傳遞的參數(shù)實(shí)際上是遞給了initialize.

 
 
 
  1. ruby> class Fruit
  2. | def initialize( k )
  3. | @kkind = k
  4. | @condition = "ripe"
  5. | end
  6. | end
  7. nil
  8. ruby> f5 = Fruit.new "mango"
  9. "a ripe mango"
  10. ruby> f6 = Fruit.new
  11. ERR: (eval):1:in `initialize'
    : wrong # of arguments(0 for 1)

彈性的Ruby對象初始化

上面我們看到一旦一個(gè)參數(shù)被關(guān)聯(lián)到一個(gè) initialize 方法上,就無法在避免錯(cuò)誤產(chǎn)生的情況下將其省掉.如果希望考慮周全,我們可以在給了參數(shù)的情況下使用它,否則使用缺省值.

 
 
 
  1. ruby> class Fruit
  2. | def initialize( k="apple" )
  3. | @kkind = k
  4. | @condition = "ripe"
  5. | end
  6. | end
  7. nil
  8. ruby> f5 = Fruit.new "mango"
  9. "a ripe mango"
  10. ruby> f6 = Fruit.new
  11. "a ripe apple"

可以在任何方法內(nèi)使用缺省參數(shù),而不僅僅是initialize.參數(shù)表(argument list)必須以有缺省值的參數(shù)結(jié)尾.

有時(shí),提供多種Ruby對象初始化方法是有益的.雖然已超出本教程的范圍,但Ruby提供了對象映象(object reflection)和可變長度的參數(shù)表(variable-length argument lists),這些都有效地促進(jìn)了方法重載.


文章題目:Ruby對象初始化方法介紹
URL標(biāo)題:http://www.dlmjj.cn/article/djscioe.html