当前位置:  开发笔记 > 后端 > 正文

具有无限数量参数的Ruby函数

如何解决《具有无限数量参数的Ruby函数》经验,为你挑选了3个好方法。

如何创建没有明确参数数量的Ruby函数?

需要更多澄清吗?



1> rampion..:

使用splat运算符 *

def foo(a,b,c,*others)
   # this function has at least three arguments,
   # but might have more
   puts a
   puts b
   puts c
   puts others.join(',')
end
foo(1,2,3,4,5,6,7,8,9)
# prints:
# 1
# 2
# 3
# 4,5,6,7,8,9



2> Charlie Mart..:

使用*rest.这是一个很好的小教程.



3> scooter-dang..:

(如果我可以对接受的答案添加评论,我会,但我没有足够的分数.)

警告:对于处理常规数据的方法,请注意这样做.这是一个伟大的一块语法糖,但限制的参数个数,你可以传递给方法你会得到一个SystemStackError之前.我已经达到了这个极限redis.mapped_mget *keys.此外,限制将根据您使用splat运算符的位置而更改.例如,在本地运行pry,我可以将超过130,000个元素的数组打包到方法中.但是,在赛璐珞演员中运行,该限制可能少于16,000个元素.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有