L'istruzione "se" è considerata un metodo?
No, non è considerato un metodo come si è già visto nelle altre risposte. Tuttavia, se la tua domanda fosse: "Si comporta come un metodo?", La risposta potrebbe esseresì a seconda della lingua in questione. Qualsiasi linguaggio che supporti funzioni di prima classe potrebbe fare a meno di un costrutto/istruzione incorporato come if
. Ignora tutte le cose soffici come i valori di ritorno e la sintassi, in pratica è solo una funzione che valuta un valore booleano e se è true
, quindi esegue un blocco di codice. Ignora anche OO e differenze funzionali perché i seguenti esempi possono essere implementati come metodo sulla classe Boolean
in qualsiasi lingua venga utilizzata come Smalltalk.
Ruby supporta blocchi di codice eseguibile che possono essere memorizzati in una variabile e trasferiti ai metodi. Quindi ecco una funzione personalizzata _if_
implementata in Ruby. Il materiale all'interno di { .. }
è un pezzo di codice eseguibile passato alla funzione. È anche conosciuto come blocco in 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" }
}
Possiamo fare la stessa cosa in C, C++, Objective-C, JavaScript, Python, LISP, e molte altre lingue. Ecco un esempio di JavaScript.
function _if_(condition, code) {
condition && code();
}
_if_(42 > 0, function() { console.log("Yes!"); });
No, 'if' è un flusso logico non costruire un metodo. – asawyer
No, non lo penserei mai in questo modo. È una dichiarazione di controllo, integrata nella lingua. Sarò sorpreso se qualcun altro è d'accordo con te. – duffymo
public int five() {return 5; } // vuol dire che 5 è un metodo? – yurib