In molte lingue, la sintassi function_name(arg1, arg2, ...)
viene utilizzata per chiamare una funzione. Quando vogliamo chiamare la funzione senza argomenti, dobbiamo fare function_name()
.
Trovo strano che un compilatore o un interprete di script richieda ()
per rilevarlo correttamente come una chiamata di funzione. Se una variabile è conosciuta per essere callable, perché function_name;
non dovrebbe essere sufficiente?
D'altra parte, in alcune lingue possiamo fare: function_name 'test';
o anche function_name 'first' 'second';
per chiamare una funzione o un comando.
Penso che le parentesi sarebbero state migliori se fossero state necessarie solo per dichiarare l'ordine di priorità, e in altri luoghi erano facoltative. Ad esempio, facendo if expression == true function_name;
dovrebbe essere valido come if (expression == true) function_name();
.
La cosa più fastidiosa a mio avviso è fare 'SOME_STRING'.toLowerCase()
quando chiaramente non sono necessari argomenti dalla funzione prototipo. Perché i progettisti hanno deciso contro il più semplice 'SOME_STRING'.lower
?
Disclaimer: Non fraintendermi, adoro la sintassi simile a C! ;) Sto solo chiedendo se potrebbe essere migliore. Richiede ()
ha dei vantaggi in termini di prestazioni, o semplifica la comprensione del codice? Sono davvero curioso di sapere quale sia esattamente la ragione.