如何从Ruby方法返回变量?

时间:2013-05-02 13:36:33

标签: ruby

返回'hash'变量值的最佳方法是什么?

define_method :hash_count do 
  char_count = 0
  while char_count < 25 do 
    hash = ''
    hash << 'X'
    char_count += 1
  end
end

1 个答案:

答案 0 :(得分:1)

您必须在循环外定义hash。如果它在里面你继续在每次迭代时重置它。

define_method :hash_count do 
  char_count = 0
  hash = ''
  while char_count < 25
    hash << 'X'
    char_count += 1
  end
  hash # returns the hash from the method
end

顺便说一句,您不必跟踪char_count。只需检查字符串的长度:

define_method :hash_count do 
  hash = ''
  hash << 'X' while hash.length < 25
  hash # returns the hash from the method
end