在ruby中,运算符操作实际上也是方法调用,于是,我们就可以避免繁琐的get,set方法了:
- class Book
- def initialize(name)
- @name =name
- end
- def name
- @name
- end
- def name=(new_name)
- @name=new_name
- end
- end
但是如果属性比较多的话,又会出现一大堆方法,这自然是ruby所不取的。于是又有了如下的简化:
- class Book
- attr_reader :name
- attr_writer :name
- def initialize(name)
- @name=name
- end
- end
或者进一步简化成:
- class Book
- attr_accessor :name
- def initialize(name)
- @name=name
- end
- end
这样我们就可以来进行方法调用,如下所示:
- book = Book.new("Ruby")
- puts book.name
- book.name="Python"
- puts book.name
但是如果要在对象内部对其属性进行访问的话,就不能用attr_writer了,它会默认的把表达式左侧的变量当作局部变量来处理,而非对象属性。解决的方法有两种,一种是如initialize方法那样,使用@name来访问,还有一种是使用self.name来访问,如下所示:
- class Book
- attr_accessor :name
- def initialize(name)
- @name =name
- end
- def refresh
- self.name="new book"
- end
- end
分享到:
相关推荐
ruby笔记1ruby笔记1ruby笔记1ruby笔记1ruby笔记1ruby笔记1
0积分下载,不允许系统调分-20211115 ruby官方安装包
ruby1.9.2_1.9.2-p290-1_amd64.deb
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
ruby1-导出-1
此安装包的版本是2.6.5-1-x64 如果您不知道要安装哪个版本,并且开始使用Ruby,建议您使用Ruby + Devkit 2.6.X(x64)安装程序。它提供了最多数量的兼容gem,并与Ruby一起安装了MSYS2-Devkit,因此可以立即编译具有C...
这个暑假回家没事干闲...恩,废话就少提,下面我学习Ruby的各个部分。其中Ruby风格这一部分是开放的,因为我暂时还没有形成自己的风格。我用xmind来记笔记,因此我只是把笔记搬到博客上,看看下面的图。好有爱啊!!!
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z 由于国内访问github服务器不稳定,所以上传到CSDN给大家方便下载
ruby-oci8-2.1.5-x86-mingw32.gem,ruby连接oracle数据库gem包
ruby-debug-ide-0.3.1.gem
学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及...
Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理
ruby2.6.3-1-x86解释器32位.exe,最新版版本,适合那些外网连接超慢的朋友下载,感谢csdn提供的存储服务
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
ruby-1.8.7-p358-doc-chm.7z 3.65 MB 1,399 Other Other ruby-1.8.7-p358-i386-mingw32.7z 5.12 MB 1,503 i386 Other rubyinstaller-1.8.7-p358.exe 11.69 MB 13,534 i386 .exe (Windows executable)
ruby基础笔记,自学笔记,ruby基础语法非常全面ruby基础笔记,自学笔记,ruby基础语法非常全面
ruby-1.9.2-p290.tar.gz,ruby,redmin,安装,
ice最简单实现 ruby调用ice接口 - Ruby - language - ITeye论坛