Ruby 方法不返回输出
当我为任意n写“puts get__rarity(n)”时,为什么这个方法不返回任何东西Ruby 方法不返回输出,ruby,Ruby,当我为任意n写“puts get__rarity(n)”时,为什么这个方法不返回任何东西 def get_rarity(float) if float.between?(1, 0.4) "common" elsif float.between?(0.4, 0.2) "uncommon" elsif float.between?(0.2, 0.15) "rare"
def get_rarity(float)
if float.between?(1, 0.4)
"common"
elsif float.between?(0.4, 0.2)
"uncommon"
elsif float.between?(0.2, 0.15)
"rare"
elsif float.between?(0.15, 0.14)
"epic"
elsif float.between?(0.14, 0.139)
"legendary"
end
end
有一个输入错误
put get\u ratity(n)
。它应该是puts get\u rarity(n)
将代码编写为:
def get_rarity(float)
if float.between?(0.4, 1) # see the change..(min, max)
"common"
elsif float.between?(0.2, 0.4) # see the change..(min, max)
"uncommon"
elsif float.between?(0.15, 0.2) # see the change..(min, max)
"rare"
elsif float.between?(0.14, 0.15) # see the change..(min, max)
"epic"
elsif float.between?(0.139, 0.14) # see the change..(min, max)
"legendary"
end
end
读博士。这意味着方法
#between?
的第一个参数应该是min,第二个参数应该是max您确定float始终在1..0.139范围内吗?
并在调用介于?
之间时将较小的值放在第一位
试试这个:
def get_rarity(float)
if float.between?(0.4, 1)
"common"
elsif float.between?(0.2, 0.4)
"uncommon"
elsif float.between?(0.15, 0.2)
"rare"
elsif float.between?(0.14, 0.15)
"epic"
elsif float.between?(0.139, 0.14)
"legendary"
else
"undefined"
end
end
只是问题中的一个输入错误,不是我实际编辑的代码