История изменений
Исправление
arturpub,
(текущая версия)
:
function inverter(input, output)
local function invert_input()
local new_value = not get_signal(input)
after_delay(inverter_delay, function ()
set_signal(output, new_value)
end)
end
add_action(input, invert_input)
return "ok"
end
function inverter(input, output)
add_action(input, function ()
local new_value = not get_signal(input)
after_delay(inverter_delay, function ()
set_signal(output, new_value)
end)
end)
return "ok"
end
function inverter(input, output)
input:add_action(function ()
local new_value = not input:get_signal()
after_delay(inverter_delay, function ()
output:set_signal(new_value)
end)
end)
return "ok"
end
Вроде все то же самое, а как читается по-разному, имо. Со второй лямбдой в лиспе был бы совсем кошмар.
ps. и самопальный синтаксис:
function inverter(input, output)
input:add_action(\{
local new_value = not input:get_signal()
after_delay(inverter_delay, \{ output:set_signal(new_value) })
})
return "ok"
end
Исходная версия
arturpub,
:
function inverter(input, output)
local function invert_input()
local new_value = not get_signal(input)
after_delay(inverter_delay, function ()
set_signal(output, new_value)
end)
end
add_action(input, invert_input)
return "ok"
end
function inverter(input, output)
add_action(input, function ()
local new_value = not get_signal(input)
after_delay(inverter_delay, function ()
set_signal(output, new_value)
end)
end)
return "ok"
end
function inverter(input, output)
input:add_action(function ()
local new_value = not input:get_signal()
after_delay(inverter_delay, function ()
output:set_signal(new_value)
end)
end)
return "ok"
end
Вроде все то же самое, а как читается по-разному, имо. Со второй лямбдой в лиспе был бы совсем кошмар.