Test1.rb
print "1: "
puts "name".object_id
print "1: "
puts "name".object_id
print "1: "
puts "name".object_id
print "2: "
puts :name.object_id
print "2: "
puts :name.object_id
print "2: "
puts :name.object_id
print "3: "
puts 123456.object_id
print "3: "
puts 123456.object_id
print "3: "
puts 123456.object_id
# output
#1: 21719110
#1: 21719080
#1: 21719050
# "name".object --> 对象的Id
#2: 34258
#2: 34258
#2: 34258
# :name.object_id --> 对象的值的Id
#3: 246913
#3: 246913
#3: 246913
==>
1.对象的相同的字符串,他们的对象不同, 但是 属性的值的Id相同
像java里面的Long与long区别
3.数字型的 对象Id相等
Test2.rb
class A
attr_accessor :name
end
a = A.new
print "a.name = "
puts a.name
a.name = "Lily"
print "a.name = "
puts a.name
class B
def name
@name
end
def name=(name)
@name = name
end
end
b = B.new
print "b.name = "
puts b.name
b.name = "Lily"
print "b.name = "
puts b.name
# output
#a.name = nil
#a.name = Lily
#b.name = nil
#b.name = Lily
==>
1. 对象属性没有值的时候,为nil, 感觉是"Null Object"
2. ttr_accessor :name 的效果 当然于class B里面的
Test3.rb
class Symbol
def to_proc
proc {|obj, *args| obj.send(self, *args)}
end
end
words = %w(abc bcd cde def efg)
list = words.map(&:capitalize)
print "1: "
puts list.inspect
list2 = words.map {|w| w.send(:capitalize)}
print "2: "
puts list2.inspect
==>
1. ruby中的神奇函数inspect,
2. capitalize顾名思义
#TODO
分享到:
相关推荐
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
ruby-1.9.2-p290.tar.gz,ruby,redmin,安装,
ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm
ruby-debug-ide-0.3.1.gem
Ruby-GNOME2提供GNOME 2.0开发环境的Ruby绑定,目前在活跃更新中。如果你喜欢GTK的界面,你一定会喜欢Ruby-GNOME2。GTK目前提供Linux、 Windows等多个平台的运行库,也就是说使用GTK开发的应用程序可以在多个平台下...
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
ruby-debug-base19-0.11.26.gem
ruby-2.6.5.tar.gz 来自官网, ruby-2.6.5.tar.gz 来自官网, ruby-2.6.5.tar.gz 来自官网,
瑞传 RUBY-9719VG2AR主板pdf,瑞传 RUBY-9719VG2AR主板
MySQL分析 innodb
ruby-2.4.1.tar.gz
ruby-build 是一个 rbenv 插件,它提供了一个 rbenv install 命令来在类 UNIX 系统上编译和安装不同版本的 Ruby。你还可以在需要精确控制 Ruby 版本安装的环境中使用不带 rbenv 的 ruby-build。用法在开始之前,...
ruby-oci8-2.1.5-x86-mingw32.gem,ruby连接oracle数据库gem包
sqlite3-ruby-mswin32.gem
官网原版安装包,官网的下载真的很慢...
ruby-libs-1.8.7.352-13.el6.x86_64.rpm ruby-libs-1.8.7.352-13.el6.x86_64.rpm
ruby-1.9.3-p547.tar.gz
ruby-1.8.5.tar for Liunx 开魔力宝贝单机必须软件之一
ruby-2.4.5 由于官方下载速度慢,所以在这里提供下载。
Ruby-JMeter - 一个基于Ruby的DSL用于构建JMeter测试计划