Lua: Хранить логический оператор в переменной? - PullRequest
0 голосов
/ 11 мая 2018

Я не могу найти ничего об этом через Google, поэтому я должен спросить здесь. Я хочу сделать что-то вроде этого (очень псевдокод):

y = first_value

x={op_1 = >, op_2 = <, c = some_value}

if first_value x.op_1 x.c then
...
end

Что этот код говорит мне, так это то, что если first_value, если значение больше x, то сделать что-то. Теперь я знаю, что могу установить для op_1 и op_2 какое-то значение, чтобы различать их, а затем сравнить значения, используя отдельные операторы if, но я бы хотел минимизировать количество используемых операторов if.

Мне просто интересно, возможно ли что-то подобное, может быть, даже в другой форме. Заранее спасибо!

1 Ответ

0 голосов
/ 11 мая 2018

Не так, оператор - это определенный символ, который является частью синтаксиса.Однако вы можете представить операцию , используя функцию:

y = first_value

x={op_1 = function(a,b)return a>b end, op_2 = function(a,b)return a<b end, c = some_value}

if x.op1(first_value, x.c) then
  ...
end
...