如何使用Thread类执行类算术方法?

时间:2012-02-19 01:12:36

标签: ruby multithreading module

如何在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

1 个答案:

答案 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]