希望的东西newbish不到我最后...红宝石:“在'<=':与长整数数组的比较失败(引发ArgumentError)”
总之,我做了一下上一个小应用程序编码的那将数字简化为素数,主要用于帮助小作业,如家庭作业。
然而,一个特定的方法是给我在标题中提到的错误:
def get_simps(num)
curr = 2
print("Working...")
while (curr <= num)
#If they divide cleanly, then it's a simplified form
if (num % curr == 0)
res = [curr, num/curr]
break
end
curr += 1
end
print("\n")
return res
end
凡说法NUM此语句不提供:
print("Insert number here: ")
num = gets().chomp().to_i()
因此使得错误怪异:为什么说我比较了Fixnum和ARRAY?我也是这样做的:
if (num.class() == curr.class())
print "Cheese"
end
它打印奶酪。为什么错误的原因呢?
Copypasting到IRB与'get_simps调用(gets()函数。的Chomp()。to_i()) '不会给我一个错误(虽然它确实给出了错误的结果:get_simps(15000)=> [2,7500] – Tordek 2009-12-13 00:32:50
你发布的代码对我来说工作正常。你是否在做'get_simps(get_simps(20 )'' – 2009-12-13 00:33:28
此外,“错误”,因为我期待它返回一个素数分解的数字 – Tordek 2009-12-13 00:35:13