Возможность отключить второе условие

Мандрагора

Участник
Автор темы
77
4
Lua:
   local argement = callback(i)
   if trigger then
      if argument ~= 4340420495 then
         --code
      end
   else
      if argument ~= 4340420495 and argument ~= 4340420494 then
         --code
      end
   end

Можно как-то проще добавить возможность отключать проверку второго неравно? Чтобы просто не дублировать код дважды.
 

P U L V I L I Z A T O R

Участник
93
29
В чем задача? Если trigger true проверять одни аргументы, иначе другие? Если бы мне нужно было проверять такого рода аргументы страшные, которые еще и не понятно в каком количестве я бы так сделал.


Пример:
in_array = function(needle, array)
    for _, value in pairs(array) do
        if needle == value then
            return true
        end
    end
    return false
end

local argument = callback(i)
local arguments = {4340420495, 4340420494}
if trigger and not in_array(argument, arguments) then
   -- code
end

if not trigger and not in_array(argument, arguments) then
    -- code
end
 

Мандрагора

Участник
Автор темы
77
4
В чем задача? Если trigger true проверять одни аргументы, иначе другие? Если бы мне нужно было проверять такого рода аргументы страшные, которые еще и не понятно в каком количестве я бы так сделал.


Пример:
in_array = function(needle, array)
    for _, value in pairs(array) do
        if needle == value then
            return true
        end
    end
    return false
end

local argument = callback(i)
local arguments = {4340420495, 4340420494}
if trigger and not in_array(argument, arguments) then
   -- code
end

if not trigger and not in_array(argument, arguments) then
    -- code
end


Это не решает мой вопрос. У меня вместо --code большой алгоритм, при таком варианте я его дважды вставляю в код.
А я хочу вставить только один раз, но чтобы выполнялся он при активной триггере учитывая два условия, а при выключенном, только одно.

Ну уже не актуально, я "выкрутился" так сказать.
 
D

deleted-user-453823

Гость
Lua:
   local argement = callback(i)
   if trigger then
      if argument ~= 4340420495 then
         --code
      end
   else
      if argument ~= 4340420495 and argument ~= 4340420494 then
         --code
      end
   end

Можно как-то проще добавить возможность отключать проверку второго неравно? Чтобы просто не дублировать код дважды.
Так вынеси дублирующуюся проверку за проверку на триггер и все, логика одна и та же останется
 

P U L V I L I Z A T O R

Участник
93
29
Так вынеси дублирующуюся проверку за проверку на триггер и все, логика одна и та же останется
У него при триггере тру одна логика проверок, а при фолс вторая, но при этом --code это гигантская штука, которую он не хочет дублировать. Чувак просто не дошёл до раздела "Функции" и не знает, что большй гигантский "--code" можно обернуть в одну функцию и вызывать один раз без копипаста.