我需要创建一个方法,它应该只接收1到6之间的数字数组作为参数。如果参数不同,我想退出方法并显示错误消息。
解释了什么方法得分(骰子)做here
我想过使用双条件句,例如:
if (dice.is_a? Array ) && ("elements of dice are numbers of range (1..6)")
do something
else print "error message"
代替字符串"骰子的元素是范围(1..6)和#34;我尝试了以下代码但不起作用:
dice.each { |num| num <= 6 }
你会建议什么?
答案 0 :(得分:6)
CreationContext
答案 1 :(得分:0)
def score *dice
raise "this is not an array" unless dice.is_a? Array
raise "atleast one value is required in array" unless dice.length > 0
raise "array should only contain numbers between 1 to 6" unless dice.all? { |i| (1..6).include?(i) }
#your code here#
end