arrays - 如何拒绝具有不需要的数字范围的数组

标签 arrays ruby

我需要创建一个方法,它应该只接收一个 1 到 6 之间的数字数组作为参数。如果参数不同,我想退出该方法并显示错误消息。

解释了 score(dice) 的作用 here

我想到了使用双重条件子句,例如:

if (dice.is_a? Array ) && ("elements of dice are numbers of range (1..6)")
do something
else print "error message"

代替字符串“骰子元素是范围数字 (1..6)”我尝试了以下代码但不起作用:

dice.each { |num| num <= 6 }

你有什么建议?

最佳答案

使用Enumerable#all?

dice.all? {|num| (1..6).include? num}

关于arrays - 如何拒绝具有不需要的数字范围的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489669/

相关文章:

即使安装了 gem,Ruby 2.0.0 也无法加载此类文件

arrays - 数组数组中的所有组合

javascript - 检查值范围是否在数组中

ruby - 递归例程中的 "stack level too deep"错误是否有解决方法?

ruby-on-rails - Rails 最佳实践问题 : Where should one put shared code and how will it be loaded?

Ruby:仅在某些情况下重载运算符行为

ruby-on-rails - session 不会在 Rails 4 中持续

java - 如何复制二维字符串数组?

arrays - 为什么链表比数组快?

javascript - 如何拆分添加子属性名称的 JSON 属性值?