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

Ruby創建構造器技巧分享

開發 開發工具
Ruby語言在世紀操作中經常會遇到有關構造器應用的相關情況。不過Ruby并沒有構造器,我們需要自己來完成Ruby創建構造器的步驟。

雖然Ruby語言中沒有現成的構造器,不過我們依然可以實現Ruby創建構造器的功能。那么,接下來我們將會為大家介紹Ruby創建構造器具體的實現技巧。#t#

  1. class ColoredRectangle    
  2. def initialize(r, g, b, s1, s2)   
  3. @r, @g, @b, @s1, @s2 = r, g, b, s1, s2    
  4. end  
  5. def ColoredRectangle.white_rect(s1, s2)   
  6. new(0xff, 0xff, 0xff, s1, s2)    
  7. end  
  8. def ColoredRectangle.gray_rect(s1, s2)    
  9. new(0x88, 0x88, 0x88, s1, s2)   
  10. end  
  11. def ColoredRectangle.colored_square(r, g, b, s)   
  12. new(r, g, b, s, s)    
  13. end   
  14. def ColoredRectangle.red_square(s)    
  15. new(0xff, 0, 0, s, s)    
  16. end  
  17. def inspect   
  18. "#@r #@g #@b #@s1 #@s2"   
  19. end  
  20. end  
  21. a = ColoredRectangle.new(0x88, 0xaa, 0xff, 20, 30)   
  22. b = ColoredRectangle.white_rect(15,25)   
  23. c = ColoredRectangle.red_square(40) 

如果Ruby創建構造器屬性過多,我們可以使用

  1. class PersonalComputer   
  2. attr_accessor :manufacturer,    
  3. :model, :processor, :clock,    
  4. :ram, :disk, :monitor,   
  5. :colors, :vres, :hres, :net   
  6. def initialize(&block)   
  7. instance_eval &block    
  8. end    
  9. # Other methods   
  10. end   
  11. desktop = PersonalComputer.new do   
  12. self.manufacturer = "Acme"   
  13. self.model = "THX-1138"   
  14. self.processor = "986"    
  15. self.clock = 9.6 # GHz   
  16. self.ram = 16 # Gb    
  17. self.disk = 20 # Tb   
  18. self.monitor = 25 # inches    
  19. self.colors = 16777216   
  20. self.vres = 1280   
  21. self.hres = 1600    
  22. self.net = "T3"   
  23. end    
  24. p desktop 

怎么樣,這樣Ruby創建構造器的方法是不是漂亮很多呢?!

注意:block中的self是必須的。

你也可以使用undef方法動態刪除你的需要的方法。

 

  1. desktop = PersonalComputer.new do   
  2. self.manufacturer = "Acme"   
  3. self.model = "THX-1138"   
  4. undef model   
  5. end   
  6. p desktop.model #報錯 

以上就是我們為大家介紹的有關Ruby創建構造器技巧應用。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-12-15 10:23:23

Ruby應用技巧

2009-12-15 18:15:24

Ruby連接到LDAP

2009-12-15 18:24:02

Ruby連接到orac

2009-12-18 10:47:16

Ruby裝飾模式

2009-03-19 09:24:50

XML標記XML結構XML入門

2009-12-18 14:10:29

Ruby訪問剪貼板

2009-12-16 11:04:51

Ruby操作文件權限

2009-12-16 10:10:16

Ruby打開關閉文件

2009-12-16 15:46:41

Ruby on rai

2009-12-16 10:49:42

Ruby操作二進制文件

2010-08-05 09:09:02

路由器配置

2010-08-05 09:15:04

路由器配置

2009-06-12 18:26:09

2009-12-30 13:37:24

Silverlight

2009-12-14 09:33:04

Ruby安裝

2009-12-17 09:14:14

Ruby on Rai

2010-01-22 11:02:30

VB.NET創建新變量

2010-01-13 15:52:59

VB.NET浮動窗體

2009-12-10 17:20:00

PHP服務器架設

2009-12-14 15:30:43

安裝Ruby on R
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色悠悠久| 亚洲一区二区免费视频 | 激情在线视频网站 | 精品视频在线一区 | 久久免费看 | 色欧美综合 | 亚洲精品一区二区在线观看 | 日韩视频成人 | 在线免费观看亚洲 | 最新伦理片 | 欧产日产国产精品国产 | 美女视频黄的 | 91欧美 | 五月婷婷激情 | 精品亚洲91 | 古装三级在线播放 | 一级特黄视频 | 暴草美女| 亚洲视频免费在线观看 | 国产精品视频一区二区三区 | 麻豆av在线免费观看 | 99视频网站 | 九一视频在线播放 | 伊人网站在线 | 婷婷不卡| 高清国产一区二区 | 国产精品久久久久久久久久久免费看 | 久久精品一区二区 | 91精品国产自产精品男人的天堂 | 国产成人aⅴ| 欧美阿v | 中文字幕亚洲无线 | 天天看逼 | 日本字幕在线观看 | 99re视频在线 | 欧美一区二区三区 | 亚洲成人自拍 | 精品成人免费一区二区在线播放 | 久久福利电影 | 国产亚洲一区二区三区在线观看 | 欧洲视频一区二区 |