`
fantaxy025025
  • 浏览: 1346446 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ruby_数组展开,参数个数问题

 
阅读更多

 

 

参数个数结论:

 

必须的参数个数 <= 参数个数 <= 参数总个数[必须参数个数+可选参数个数]

 

#参数个数,数组展开,问题
a = ['order','p','page']

def m1(a, b=2, c=3)
  puts "a=#{a}, b=#{b}, c=#{c}"
end

m1(*a)

def m2(a, b=2)
  puts "a=#{a}, b=#{b}"
end

#m2(*a) #in `m2': wrong number of arguments (3 for 2) (ArgumentError)

def m3(a, b=2, c=3, d=4)
  puts "a=#{a}, b=#{b}, c=#{c}, d=#{d}"
end

m3(*a)

 

这里不包括默认自带的block参数,即method_x(param1, param2, ... , &block)

 

 

====完毕====

技术人

 

分享到:
评论

相关推荐

    中科院高级软件工程期末题库

    在 Ruby 中,数组是一种用于存储多个项的数据结构。数组中的每个元素都可以是不同的类型,并且可以通过索引来访问。Ruby 提供了一系列内置的方法来操作数组,如 `push`、`pop`、`shift` 和 `unshift` 等。 ### Ruby...

    21个你应该知道的Ruby编程技巧

    以下是从标题、描述和部分内容中提炼的21个你应该知道的Ruby编程技巧: 1. **快速获取正则表达式的匹配值** 通过使用`String#[]`方法,你可以直接匹配正则表达式,避免了`match`方法可能抛出的异常。例如,`email...

    Rubyficadas:学习使用 Ruby 编码的学习小组

    Ruby的方法可以接受可变数量的参数,并支持默认值和 splat(散列展开)操作。 5. **模块(Module)**:模块用于封装代码,实现命名空间管理和混合(mixin)功能。混合允许一个类包含另一个类或模块的方法,增加代码...

    AA-Classwork:App Academy的课堂作业

    这些作业主要围绕Ruby编程语言展开,旨在帮助学员深入理解并掌握Ruby的基础和高级概念。Ruby是一种动态、面向对象的编程语言,因其简洁、易读的语法而受到广大开发者喜爱。在"AA-Classwork"中,学员将通过实际操作来...

    W5D3

    然而,由于描述中同样只给出了"W5D3",没有提供更多的上下文信息,我将依据Ruby语言的基础知识和常见主题来展开讲解。 Ruby是一种面向对象的、动态类型的编程语言,由日本人松本行弘(Yukihiro Matsumoto)在1990...

    练习题

    本篇将围绕Ruby的一些核心概念和特性展开,通过解析提供的"Exercises-main"压缩包中的练习题,来深入理解和掌握Ruby编程。 1. **变量和数据类型** Ruby支持五种基本的数据类型:符号(Symbol)、字符串(String)...

    W5D4

    不过,我们可以根据Ruby这一标签来展开一些通用的Ruby编程知识点。 Ruby是一种面向对象的、动态类型的编程语言,由日本的松本行弘(Yukihiro Matsumoto)于1993年创建。它的设计目标是让代码更加简洁、易读,并强调...

    prototype 中文API

    `prototype.js` 引入了枚举(Enumerable)的概念,它提供了一套用于迭代和处理数组或集合的方法,类似于Ruby语言中的风格,包括`each`, `map`, `select`等,极大地提高了代码的可读性和效率。 #### 五、`prototype....

    提升JavaScript生产力的“异样”编程手段

    `arguments`提供了一个对当前函数调用参数的数组式访问;`constructor`和`callee`则可用于反射和类型检查。 6. **迭代生成器**: - 生成器是一种特殊的函数,可以用来创建迭代器。通过使用`yield`关键字,可以在...

Global site tag (gtag.js) - Google Analytics