5
Рассмотрим следующий код:Как отменить логическое в трубопроводе?
defmodule T do
def does_not_contain?(s, t) do
s |> not(String.contains?(t))
end
end
Это дает следующее сообщение об ошибке при компиляции
** (CompileError) iex:3: undefined function not/2
Я также попытался конструкцию так:
defmodule T do
def does_not_contain?(s, t) do
s |> String.contains?(t) |> not
end
end
Это дает мне эту ошибку:
** (SyntaxError) iex:4: unexpected token: end
я могу сделать что-то вроде этого, который работает:
defmodule T do
def does_not_contain?(s, t) do
does_contain = s |> String.contains?(t)
not(does_contain)
end
end
Но это весьма привлекательным, чтобы попытаться сохранить все это в трубопроводе. Есть ли способ свести на нет логическое значение в конвейере?
Спасибо! Это именно то, что я искал! –