ruby学习笔记2
- 构造方法initialize
Ruby创建对象时通过Ruby.new方法,若传递参数实际上是传递给了initialize方法
class Test
def initialize(name,age,phone)
@name = name
@age = age
@phone = phone
end
end
调用:Test.new('zhangsan',20,'18112345678')
也可以给参数添加默认值
class Test
def initialize(name='kk',age=18,phone='18112345678')
@name = name
@age = age
@phone = phone
end
end
调用:
test = Test.new
p test
输出
#<Test:0x000001023a2fe8 @name="kk", @age=18, @phone="18112345678">
没有给默认值的参数必传,否则报错。若只有部分参数给了默认值,在调用的时候只传递了未有默认值的参数,会依序赋值。
class Test
def initialize(name,age=18,phone)
@name = name
@age = age
@phone = phone
end
end
调用:
p Test.new('kk','18112345678')
输出:
#<Test:0x0000010208e7a8 @name="kk", @age=18, @phone="18112345678">
2、to_s方法,inspect方法
to_s类似java中的toString,默认输出对象名及内存ID,可以重写。
重写之前调用:Test.new.to_s
输出:
#<Test:0x00000101cc5630>
重写:
class Test
def initialize(name='kk',age=18,phone='18112345678')
@name = name
@age = age
@phone = phone
end
def to_s
"myname is #{@name} , #{@age} years old, telphone:#@phone.please call me latter!"
end
end
调用:
Test.new.to_s
Test.new.inspect
输出:
myname is kk , 18 years old, telphone:18112345678.please call me latter!
#<Test:0x000001024d3c78 @name="kk", @age=18, @phone="18112345678">
3、print、puts、p与to_s、inspect的关联
user = Test.new
print user -------> 将调用输出user.to_s
puts user -------> 将调用输出user.to_s
p user -------> 将调用输出user.inspect
相关推荐
这个暑假回家没事干闲...恩,废话就少提,下面我学习Ruby的各个部分。其中Ruby风格这一部分是开放的,因为我暂时还没有形成自己的风格。我用xmind来记笔记,因此我只是把笔记搬到博客上,看看下面的图。好有爱啊!!!
ruby基础笔记,自学笔记,ruby基础语法非常全面ruby基础笔记,自学笔记,ruby基础语法非常全面
Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理
ruby学习笔记....................
这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...
rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z 由于国内访问github服务器不稳定,所以上传到CSDN给大家方便下载
学习 Ruby 的笔记以及 Demo.zip
Ruby自学笔记,这是我在学习Ruby时的小结笔记,若对你有所帮助请给满星,谢谢!!!
Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro ...
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...
Java、JDK6、良葛、林信良、Java学习笔记 我没看到实体书,不知是否相同, 近些日学习一下ruby方面的,顺便看看java方面的, 这个是Java JDK6的学习笔记电子版, 压缩包里包含两个文件, 一个是chm格式(这个还行吧)...
笔记: Ruby会默认返回方法中的最后一个值。 如果需要返回多个值,可以用数组来实现。 可以通过强制声明return来返回值。 基础的输出方法是用puts(输出一行),print(直接打印)。 基础的输入方法是gets(读入一行,...
我对Ruby的学习笔记 评论 #i'm a sinlg eline comment =begin I'm a multiline comment! =end 资料来源 puts(writeln) 控制台输出/打印的Ruby方式 puts "hello world" 编写问候世界并返回nil 打印(写) 字符...
本人学习ruby on rails 的开发和部署过程中的环境搭建的笔记 基本涵盖了ruby开发中用到的所有软件的安装 也给自己留个存档
ruby -v #查看ruby 版本 ruby -e ”require”watir”; puts Watir::IE::VERSION” #查看watir版本 rvm list known #列出已知的ruby版本 rvm install 1.9.3 rvm use 1.9.3 | rvm use system rvm use 1.9.3 –default ...
一、向对象显示的发送消息 我们可以向对象直接发送消息: Ruby代码 代码如下:class HelloWorld def say(name) print “Hello, “, name end end hw = HelloWorld.new hw.send(:say,”world”) 我们通常使用hw.say(...