IMac является очень быстрой машиной и более, чем подойдет для разработки iPhone. В большинстве случаев Mac, Мини-с истраченным поршнем, достаточно хорош.
Имеют в виду, что из поля, Мини-Mac может только разместить один монитор.
Это зависит от особенностей вашего фактического кода, но, учитывая ваш пример, если вы заранее назовете блок, вы можете избежать выдачи значения и блока в вашей функции. Например:
def f(x, &b)
yield x
end
foo = lambda do |i|
p i
f(i-1,&foo) if i > 0
end
f(4,&foo)
Однако я бы хотел найти более элегантное решение этой проблемы. Я подозреваю, что это было бы хорошим применением комбинатора Y. Я обновлю это сообщение, как только у меня будет что-то получше.
def f(x, &b)
b.call x
f(x-1,&b) if x>0
end
f(4) do |x|
p x
end