Ruby:如何检查一个块接受多少个参数?

梅森·惠勒

我正在尝试建立一个将块作为参数的方法。我知道您是通过给最后一个参数加上&前缀来实现的,但是一旦传递了该参数,我应该如何验证呢?

如果要验证参数是否为字符串,则可以使用is_a?(String)但是,如何验证我收到的块接受一个参数?还是2?

雷纳托·赞农

您可以使用该Proc#arity方法检查该块接受多少个参数:

def foo(&block)
  puts block.arity
end

foo { }        # => 0
foo { |a| }    # => 1
foo { |a, b| } # => 2

从文档中:

返回将不被忽略的参数数量。如果声明该块不带任何参数,则返回0。如果已知该块正好采用n个参数,则返回n。如果该块具有可选参数,则返回-n-1,其中n是必需参数的数量。没有参数声明的proc与声明||的块相同 作为其论据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一个向量可以有多少个参数?

来自分类Dev

接受一个块并且该块接受一个参数的方法

来自分类Dev

FreeBSD:如何通过PID检查一个进程中正在运行多少个线程?

来自分类Dev

一个对象可以处理多少个键值对?

来自分类Dev

如何使用Opencv Python计算一个图像中有多少个白色“球”?

来自分类Dev

如何知道一个jsp中有多少个对象type =“ file”

来自分类Dev

Eclipse中,如何查找一个类中定义了多少个属性?

来自分类Dev

一个服务器可以维护多少个连接?如何知道?

来自分类Dev

如何找到一个api有多少个json端点

来自分类Dev

如何计算最后一个 not bank 后有多少个空白列?

来自分类Dev

如何让python计算一个目录中有多少个文件?

来自分类Dev

如何查看一个元素出现在多少个列表中

来自分类Dev

检查一组包含多少个元素

来自分类Dev

如何检查一个字符串上有多少个非字母数字字符

来自分类Dev

如何检查枚举中有多少个常数?

来自分类Dev

如何检查LinqToSql DataContext运行了多少个查询?

来自分类Dev

如何检查 PySpark 使用了多少个内核?

来自分类Dev

如何定义一个接受其初始化参数作为哈希值的Ruby Struct?

来自分类Dev

Ruby风格的多行参数后跟一个块的实践

来自分类Dev

如何根据条件和多少个参数启用结构?

来自分类Dev

如何根据条件和多少个参数启用结构?

来自分类Dev

一个注册日期使用多少个字节?

来自分类Dev

一个 VPC 中需要多少个子网

来自分类Dev

如何确定一个列表中的一个列表中一个整数具有多少个唯一的其他项?

来自分类Dev

一个MongoDB中一个集合可以拥有多少个文档?

来自分类Dev

如何使一个方法接受一个或两个参数?

来自分类Dev

如何创建一个接受输入参数的任务

来自分类Dev

如何检查在正则表达式(ruby)中声明了多少个变量(掩码)?

来自分类Dev

如何在一个表中计算多少个唯一记录和多个记录

Related 相关文章

  1. 1

    一个向量可以有多少个参数?

  2. 2

    接受一个块并且该块接受一个参数的方法

  3. 3

    FreeBSD:如何通过PID检查一个进程中正在运行多少个线程?

  4. 4

    一个对象可以处理多少个键值对?

  5. 5

    如何使用Opencv Python计算一个图像中有多少个白色“球”?

  6. 6

    如何知道一个jsp中有多少个对象type =“ file”

  7. 7

    Eclipse中,如何查找一个类中定义了多少个属性?

  8. 8

    一个服务器可以维护多少个连接?如何知道?

  9. 9

    如何找到一个api有多少个json端点

  10. 10

    如何计算最后一个 not bank 后有多少个空白列?

  11. 11

    如何让python计算一个目录中有多少个文件?

  12. 12

    如何查看一个元素出现在多少个列表中

  13. 13

    检查一组包含多少个元素

  14. 14

    如何检查一个字符串上有多少个非字母数字字符

  15. 15

    如何检查枚举中有多少个常数?

  16. 16

    如何检查LinqToSql DataContext运行了多少个查询?

  17. 17

    如何检查 PySpark 使用了多少个内核?

  18. 18

    如何定义一个接受其初始化参数作为哈希值的Ruby Struct?

  19. 19

    Ruby风格的多行参数后跟一个块的实践

  20. 20

    如何根据条件和多少个参数启用结构?

  21. 21

    如何根据条件和多少个参数启用结构?

  22. 22

    一个注册日期使用多少个字节?

  23. 23

    一个 VPC 中需要多少个子网

  24. 24

    如何确定一个列表中的一个列表中一个整数具有多少个唯一的其他项?

  25. 25

    一个MongoDB中一个集合可以拥有多少个文档?

  26. 26

    如何使一个方法接受一个或两个参数?

  27. 27

    如何创建一个接受输入参数的任务

  28. 28

    如何检查在正则表达式(ruby)中声明了多少个变量(掩码)?

  29. 29

    如何在一个表中计算多少个唯一记录和多个记录

热门标签

归档