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调试工具:ruby-debug-ide》 在Ruby编程世界中,高效的问题排查与代码调试是开发者必备的技能之一。ruby-debug-ide正是这样一个强大的调试接口,它为Ruby开发环境提供了集成的调试支持,使得开发者...
src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm
标题提到的"ruby-oracle相关的数据库操作的gems包"是指一组用于连接和交互Oracle数据库的Ruby库。描述中指出,这些包主要基于oci8技术,oci8是Oracle公司提供的一个C接口,允许其他编程语言,如Ruby,与Oracle数据库...
在本压缩包“hw-ruby-intro.zip”中,我们主要关注的是RUBY语言在SaaS(Software as a Service)软件工程中的应用。这个压缩包包含了一份名为“hw-ruby-intro”的作业代码,它是针对高级软件工程课程的,特别强调了...
标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...
Ruby-GNOME2提供GNOME 2.0开发环境的Ruby绑定,目前在活跃更新中。如果你喜欢GTK的界面,你一定会喜欢Ruby-GNOME2。GTK目前提供Linux、 Windows等多个平台的运行库,也就是说使用GTK开发的应用程序可以在多个平台下...
在这个场景中,"ruby-2.4.3.tar.gz"是一个压缩包,其中包含了Ruby 2.4.3的源代码。这个版本是在2017年发布的,相比CentOS 6.x默认的Ruby版本,它提供了更多的改进和新特性。Ruby 2.4系列引入了性能优化、新的语法糖...
在本压缩包"ruby-1.9.3-p547.tar.gz"中,包含的是Ruby语言的一个特定版本——1.9.3-p547。 Ruby 1.9.3是Ruby的一个重要版本,发布于2012年,它带来了许多性能提升和新特性。这个版本对Ruby的语法进行了改进,包括更...
《Ruby调试工具:ruby-debug-1.87详解》 Ruby是一种动态、开源的编程语言,以其简洁的语法和强大的元编程能力深受开发者喜爱。在开发过程中,调试是必不可少的一环,而`ruby-debug-1.87`就是Ruby社区中广泛使用的...
标题中的"ruby-1.9.2-p290.tar.gz"是一个开源编程语言Ruby的特定版本的归档文件,采用流行的tar和gzip格式进行压缩。这个版本是Ruby的1.9.2分支的一个更新点,标记为p290,意味着它是该分支的第290个补丁级别。在...
2. `sqlite3-ruby-1.3.1-x86-mswin32-60.gem`: 这个gem包同样为1.3.1版本,专为64位Windows系统(mswin32-60可能指的是Ruby 1.9.3的编译环境)设计,同样是针对x86架构的。 3. `sqlite3-ruby-1.3.1.gem`: 这是一个...
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
在终端中输入`tar -zxvf ruby-2.6.5.tar.gz`,这会创建一个名为`ruby-2.6.5`的目录,包含所有源代码。 2. **进入目录**:使用`cd`命令进入新解压的目录,如`cd ruby-2.6.5`。 3. **配置**:运行`./configure`脚本...
ruby-debug-base19-0.11.26.gem
- 解压`ruby-2.5.8.tar.gz`:使用`tar -zxvf ruby-2.5.8.tar.gz`命令解压。 - 编译与安装:进入解压后的目录,运行`./configure`,然后`make`和`make install`进行编译和安装。 - 验证安装:通过`ruby -v`检查...
在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它...
ruby-build 是一个 rbenv 插件,它提供了一个 rbenv install 命令来在类 UNIX 系统上编译和安装不同版本的 Ruby。你还可以在需要精确控制 Ruby 版本安装的环境中使用不带 rbenv 的 ruby-build。用法在开始之前,...
ruby-oci8-2.1.5-x86-mingw32.gem,ruby连接oracle数据库gem包