【发布时间】:2014-12-02 11:00:03
【问题描述】:
我编写了一个小的 ruby 函数,它可以根据字符串变量的长度来改变它。打印输出显示,在函数中,变量被改变了——但是当它稍后在程序中被调用时,它总是被重置为默认值。
#ruby variable test
def mrn_value(mrn_length, mrn)
if mrn_length < 7
case mrn_length
when 6
mrn = '0' << mrn
return mrn
when 5
mrn = '00' + mrn
return mrn
when 4
mrn = '000' + mrn
return mrn
when 3
puts mrn
mrn = '0000' + mrn
puts mrn
return mrn
when 2
mrn = mrn.to_s
puts 'mrn of 2 length' #prints 'mrn of 2 length'
mrn = '00000' + mrn
puts 'mrn altered in case statement: ' + mrn #prints 'mrn altered in case statement 0000012'
when 1
mrn = '000000' + mrn
return mrn
end
end
end
mrn = 12
mrn = mrn.to_s
mrn_length = mrn.length
mrn_value(mrn_length, mrn)
puts 'Returned MRN: ' + mrn #prints '12'
我需要的是让返回的 MRN 成为更改后的 MRN。想法?
【问题讨论】:
标签: ruby