ruby - Many nested `for` cycles depending on a variable -
i want put many for
cycles in themselfs depending of value in variable.
example, if variable @var = 1
, need perform:
for letter1 in @range end
if variable @var = 2
:
for letter1 in @range letter2 in @range end end
if variable @var = 3
for letter1 in @range letter2 in @range letter3 in @range end end end
is there smarter/less code way code below? don't wanna repeat myself on again.
if @var == 1 letter2 in @range end elsif @var == 2 letter1 in @range letter2 in @range end end elsif @var == 3 letter1 in @range letter2 in @range letter3 in @range end end end end
that do something
part same in each case. difference how cycles in.
you should read recursion: http://en.wikipedia.org/wiki/recursion_(computer_science)
like:
def f(depth,letters=[]) if depth == 0 someting letters else letter in @range f(depth-1,letters+[letter]) end end end f(@var)
f
function, goes through letter calling again recursively. each call have info depth
, means, how more deep recursion should be.
Comments
Post a Comment