Считается ли оператор «если» методом?
Нет, это не считается методом, который вы, возможно, уже видели в других ответах. Однако, если бы ваш вопрос был - «Он ведет себя как метод?», Тогда ответ может быть да в зависимости от языка, о котором идет речь. Любой язык, который поддерживает первоклассные функции, может обойтись без встроенной конструкции / оператора, например if
. Игнорировать все пушистые вещи, такие как возвращаемые значения и синтаксис, так как в основном это просто функция, которая оценивает логическое значение и , если , то это true
, тогда он выполняет некоторый блок кода , Также игнорируйте OO и функциональные различия, потому что следующие примеры могут быть реализованы как метод класса Boolean
на любом используемом языке, как это делает Smalltalk.
Ruby поддерживает блоки исполняемого кода, которые могут храниться в переменной и передаваться методам. Итак, вот пользовательская функция _if_
, реализованная в Ruby. Материал внутри { .. }
- это фрагмент исполняемого кода, который передается функции. Он также известен как блок в Ruby.
def _if_ (condition)
condition && yield
end
# simple statement
_if_ (42 > 0) { print "42 is indeed greater than 0" }
# complicated statement
_if_ (2 + 3 == 5) {
_if_ (3 + 5 == 8) { puts "3 + 5 is 8" }
_if_ (5 + 8 == 13) { puts "5 + 8 is 13" }
}
Мы можем сделать то же самое в C, C ++, Objective-C, JavaScript, Python, LISP и многих других языках. Вот пример JavaScript.
function _if_(condition, code) {
condition && code();
}
_if_(42 > 0, function() { console.log("Yes!"); });