如何在Thread对象中执行此代码?
我想要持续执行,但是我对使用Thread对象的知识很少。我有一个Number
类,它接收一个数字作为参数。
如果数字是偶数,做一些事情,如果是奇数,做其他事情,最终我所追求的是在这个条件框架内连续评估数字,其中'数字'变为1.所有元素都要存储在数组内部并查询array.last
以返回1.
class Number
attr_accessor :x
def initialize (number)
@x=[]
if (number % 2 == 0)
@x << number/2
elsif (number % 2 != 0)
@x << (number*3)+1
end
print @x.to_s.concat(" ") // unable to continue
end
答案 0 :(得分:0)
我认为这就是你要做的事情:
def recurse(x, a = [])
a << x
return a if x == 1
if x % 2 == 0
recurse(x/2, a)
else
recurse((x*3 + 1)/2, a)
end
end
recurse 7
=> [7, 11, 17, 26, 13, 20, 10, 5, 8, 4, 2, 1]
recurse 12
=> [12, 6, 3, 5, 8, 4, 2, 1]