`

ruby学习笔记2

    博客分类:
  • ruby
阅读更多

ruby学习笔记2

 

  1. 构造方法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的各个部分。其中Ruby风格这一部分是开放的,因为我暂时还没有形成自己的风格。我用xmind来记笔记,因此我只是把笔记搬到博客上,看看下面的图。好有爱啊!!!

    ruby学习笔记

    ruby基础笔记,自学笔记,ruby基础语法非常全面ruby基础笔记,自学笔记,ruby基础语法非常全面

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

    个人ruby学习笔记

    ruby学习笔记....................

    精华ruby学习笔记和代码

    这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...

    rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z

    rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z 由于国内访问github服务器不稳定,所以上传到CSDN给大家方便下载

    学习 Ruby 的笔记以及 Demo.zip

    学习 Ruby 的笔记以及 Demo.zip

    Ruby自学笔记

    Ruby自学笔记,这是我在学习Ruby时的小结笔记,若对你有所帮助请给满星,谢谢!!!

    ruby编程学习笔记及demo

    Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro ...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    《Java JDK6学习笔记》

    Java、JDK6、良葛、林信良、Java学习笔记 我没看到实体书,不知是否相同, 近些日学习一下ruby方面的,顺便看看java方面的, 这个是Java JDK6的学习笔记电子版, 压缩包里包含两个文件, 一个是chm格式(这个还行吧)...

    Ruby学习笔记一

    笔记: Ruby会默认返回方法中的最后一个值。 如果需要返回多个值,可以用数组来实现。 可以通过强制声明return来返回值。 基础的输出方法是用puts(输出一行),print(直接打印)。 基础的输入方法是gets(读入一行,...

    Ruby学习:关于Ruby的学习笔记

    我对Ruby的学习笔记 评论 #i'm a sinlg eline comment =begin I'm a multiline comment! =end 资料来源 puts(writeln) 控制台输出/打印的Ruby方式 puts "hello world" 编写问候世界并返回nil 打印(写) 字符...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    本人学习ruby on rails 的开发和部署过程中的环境搭建的笔记 基本涵盖了ruby开发中用到的所有软件的安装 也给自己留个存档

    Ruby学习笔记之gem 命令详解

    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 魔法 学习笔记之一

    一、向对象显示的发送消息 我们可以向对象直接发送消息: Ruby代码 代码如下:class HelloWorld def say(name) print “Hello, “, name end end hw = HelloWorld.new hw.send(:say,”world”) 我们通常使用hw.say(...

Global site tag (gtag.js) - Google Analytics