1
мне было интересно, как перевести этот кусок кода Python в Ruby:Как преобразовать функцию генератора питона в ruby?
from __future__ import generators
def xcombinations(items, n):
if n==0: yield []
else:
for i in xrange(len(items)):
for cc in xcombinations(items[:i]+items[i+1:],n-1):
yield [items[i]]+cc
- мою попытку запроса:
def xcombinations(items, n)
Fiber.new do
if n == 0
Fiber.yield []
else
for i in 0...items.length
xcombinations(items[0...i]+items[i+1..-1],n-1).resume.each do |cc|
Fiber.yield [items[i]] << cc
end
end
end
end
end
положите это в свой вопрос, комментарии не являются местом для кода – MattDMo
что такое переполнение стека? Я спросил, как перевести код. Я не просил вас перевести его для меня. – user1376243
'items.combination (n)' приводит к перечислителю (генератору) в Ruby. (не уверен, что я понимаю код python) – steenslag