`

ruby语法-传值

阅读更多
=begin
def test1(*a)
  p a.first
  p a.last
  p a.length
end
test1(3,6)
#>>
#3
#6
#2
<<
=end

=begin
def test2(a,*b)
  p a
  p b
  p b.length
  p b.first
end
test2(1)
test2(1,:a => 1, :b => 2)
#>>
#1
#[]
#0
#nil
#1
#[{:a=>1, :b=>2}]
#1
#{:a=>1, :b=>2}
#<<
=end

=begin
def test3(a,b,*c)
  p a
  p b
  p b.length
  p c
  p c.length
end
test3(1,:a => 1, :b => 2)
#>>
#1
#{:a=>1, :b=>2}
#2
#[]
#0
#<<
=end

=begin
def test3(a,b,c={})
  p a
  p b
  p b.length
  p c
  p c.length
end
test3(1,:a => 1, :b => 2)
#>>
#1
#{:a=>1, :b=>2}
#2
#{}
#0
#<<
=end

=begin
def test3(a,b,c)
  p a
  p b
  p b.length
  p c
  p c.length
end
test3(1,:a => 1, :b => 2)
#>>
#test.rb:81:in `test3': wrong number of arguments (2 for 3) (ArgumentError)
# from test.rb:81
#<<
=end


=begin
def test4(a,b)
  p a
  p b
end
test4(*[2,3])
#>>
#2
#3
#<<
=end


=begin
def a(a, *b, &block)
  p a
  p b
  block.call
end

a(3,4) {puts "aaa"}
#>>
#3
#4
#aaa
#<<
=end

=begin
def a(a, *b, &block)
  p a
  p b
  block.call
end
a(3) {puts "aaa"}
#>>
#3
#[]
#aaa
#<<
=end


#def link_to(name,options={},html_options=nil)
#  p name
#  p options
#end 

#def link_to_tag(name,options={},html_options=nil,*parameters_for_method_reference)
#link_to(name,options,html_options=nil,*parameters_for_method_reference)
#end
#link_to_tag("submit","http://www.sina.com",{:class=>"button"},["a","b"])


class A
   @cached_settings = {}
  def self.[](name)
    v = @cached_settings[name]
    v ? v : (@cached_settings[name] = rand(10))
  end
end

p A["a"]
#p A["a"]
#p A["a"]












分享到:
评论

相关推荐

    ruby186-25.part1

    ruby186-25 for windows

    ruby-debug-ide

    《深入理解Ruby调试工具:ruby-debug-ide》 在Ruby编程世界中,高效的问题排查与代码调试是开发者必备的技能之一。ruby-debug-ide正是这样一个强大的调试接口,它为Ruby开发环境提供了集成的调试支持,使得开发者...

    src-oepkgs/ruby-ruby2ruby

    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安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件

    它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows平台上安装Ruby的一种便捷方式,而DevKit则是用于编译和链接C扩展的工具集。 标题中的...

    rh-ruby25-rubygems-devel-2.7.6-6.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    ruby-1.8.7-p302.tar.gz

    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-irb-1.8.7.352-13.el6.x86_64.rpm

    ruby-1.9.3-p547.tar.gz

    在本压缩包"ruby-1.9.3-p547.tar.gz"中,包含的是Ruby语言的一个特定版本——1.9.3-p547。 Ruby 1.9.3是Ruby的一个重要版本,发布于2012年,它带来了许多性能提升和新特性。这个版本对Ruby的语法进行了改进,包括更...

    ruby2.6.5-1-x64.zip

    ruby官网文件,但官网的安装包下载速度过于缓慢, 此安装包的版本是2.6.5-1-x64 如果您不知道要安装哪个版本,并且开始使用Ruby,建议您使用Ruby + Devkit 2.6.X(x64)安装程序。它提供了最多数量的兼容gem,并与...

    ruby-1.9.2-p290.tar.gz

    标题中的"ruby-1.9.2-p290.tar.gz"是一个开源编程语言Ruby的特定版本的归档文件,采用流行的tar和gzip格式进行压缩。这个版本是Ruby的1.9.2分支的一个更新点,标记为p290,意味着它是该分支的第290个补丁级别。在...

    ruby 2.4.2-2 X64 官方分流下载

    该资源从官方下载,由于官方资源速度实在产不忍赌,特在此分流。

    ruby-debug-1.87.rar

    《Ruby调试工具:ruby-debug-1.87详解》 Ruby是一种动态、开源的编程语言,以其简洁的语法和强大的元编程能力深受开发者喜爱。在开发过程中,调试是必不可少的一环,而`ruby-debug-1.87`就是Ruby社区中广泛使用的...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64.zip

    它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows平台上安装Ruby的一种便捷方式,而DevKit则是用于编译和链接C扩展的工具集。 标题中的...

    ruby-2.5.3-x64 下载

    标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...

    ruby-1.9.1-p0-i386-mswin32.rar

    在本压缩包“ruby-1.9.1-p0-i386-mswin32.rar”中,包含的是针对i386架构的Windows 32位系统的Ruby安装程序。这个版本(p0)意味着它是1.9.1主版本下的一个特定补丁级别,通常包括了一些错误修复和优化。 Ruby的...

    ruby186-26

    ruby开发环境傻瓜一键安装for windows

    Ruby 1.8.7-p160

    Ruby是一种面向对象的、动态类型的语言,以其简洁、优雅的语法和强大的元编程能力著称。 在Ruby 1.8.7-p160中,我们能看到以下关键知识点: 1. **面向对象编程**:Ruby的核心特性之一就是它的全面面向对象设计。...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装包

    它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows平台上安装Ruby的一种便捷方式,而DevKit则是用于编译和链接C扩展的工具集。 标题中的...

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    ruby-1.9.1-p0-i386-mswin32.zip

    "ruby-1.9.1-p0-i386-mswin32.zip" 是一个针对Windows操作系统编译的Ruby编程环境的压缩包,发布于2009年6月20日,当时是Ruby 1.9.1版本的最新版。 Ruby 1.9.1是一个重要的版本更新,引入了许多改进和新特性,包括...

Global site tag (gtag.js) - Google Analytics