成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ruby對象初始化方法介紹

開發 開發工具
Ruby對象初始化的實現可以用多種方式來實現,其實現的方法也很簡單,方便初學者學習,掌握。希望本文介紹的內容能對大家有所幫助。

Ruby語言使用中完全面向對象的解釋型腳本語言,其特點在于沒有函數,只有各種方法。在這里,我們將會看到Ruby對象初始化的一些方法介紹。#t#

Ruby對象初始化之initalize方法

當Ruby創建一個新對象時,它總是會尋找一個名為 initialize 的方法并執行它.因此,我們可以簡單通過一個initialize方法向實變量中加入缺省值,這樣一來, 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" 

將缺省的變為需要的

很多時候,缺省值不會有太多的意思.真的是缺省那樣的水果嗎?也許在創造水果的時候對其類型作要求是個更好的辦法.要這樣做,我們就必須給initialize 方法加入一個正式的參數.因為一些不會在此提及的原因,你向 new 傳遞的參數實際上是遞給了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對象初始化

上面我們看到一旦一個參數被關聯到一個 initialize 方法上,就無法在避免錯誤產生的情況下將其省掉.如果希望考慮周全,我們可以在給了參數的情況下使用它,否則使用缺省值.

 

  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"  
  12.  

 

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

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

責任編輯:曹凱 來源: ddvip.com
相關推薦

2009-07-31 17:51:27

C#對象初始化

2009-08-24 18:01:45

C#3.0新特性

2011-06-17 15:29:44

C#對象初始化器集合初始化器

2012-05-23 12:46:53

JavaJava類

2009-08-27 10:31:39

C#對象初始化器

2010-01-05 15:35:21

.NET Framew

2012-02-28 10:04:09

Java

2009-08-26 15:28:52

C#對象集合初始化器

2011-08-15 17:52:21

iPhone應用對象NSString

2023-11-12 23:08:17

C++初始化

2010-01-13 18:01:43

VB.NET數組初始化

2015-10-30 09:51:19

Java重寫初始化隱患

2010-02-01 14:21:24

C++初始化列表

2010-01-22 15:47:37

VB.NET初始化網格

2024-08-14 17:21:34

2009-05-20 10:58:15

數據庫查詢初始化

2009-12-15 15:19:30

Ruby訪問控制

2009-12-17 17:13:23

Ruby for Ec

2009-12-14 16:26:40

Ruby復制文件

2009-12-15 11:31:53

Ruby self
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费视频网站在线观看 | 一区二区亚洲 | 成人精品一区 | 精品中文字幕久久 | 欧美极品少妇xxxxⅹ免费视频 | 免费国产视频 | 免费永久av | 亚洲成人一区 | 最新中文字幕第一页视频 | 欧美1区2区 | 成人在线视频免费观看 | 91久久网站 | 亚洲视频 欧美视频 | 黄色大片在线播放 | 最新国产精品精品视频 | 日韩欧美在线一区 | 精品欧美乱码久久久久久 | 羞羞的视频在线看 | 日韩欧美一区二区三区在线播放 | 亚洲www啪成人一区二区麻豆 | 欧美中文字幕在线 | 伊人狠狠 | 国产一区欧美一区 | 亚洲狠狠爱 | 九九伦理电影 | 国产精品黄色 | 日韩成人一区 | 欧美一区二区三区在线观看 | 中文字字幕在线中文乱码范文 | 欧美日本在线 | 欧美久久一区二区三区 | 国产精品久久九九 | 国产视频久久久 | 国产清纯白嫩初高生视频在线观看 | 黑人粗黑大躁护士 | 久久精品视频91 | 成人免费xxxxx在线视频 | 亚洲欧美综合 | 久久久久久亚洲精品 | 欧美一二区 | 国产精品一区二区视频 |