Local dummy = aLocal a = bLocal b = dummy
Local a, b = [b]HL.Swap(a, b)[/b]
Function HL.Swap(value1, value2);———————————————————————————————————————————————————————————————————————————————; Returns the specified values swapped;------------------------------------------------------------------------------- Return(value2, value1)EndFunction
Local Nome, Cognome, Età = "Fabio", "Falcucci", 40
Function AddSubMulDiv(a, b) Return(a+b, a-b, a*b, a/b)EndFunction
a,b = b,a
typeof = GetType
If typeof(obj)=#NUMBER Then DebugPrint("Number!")
...Sono piccole cose che per me contano parecchio :-) ...
Rispondo tardi, tuttavia sono qui da poco.A me questo linguaggio non piace.Quelli che voi chiamate due punti ".." in altri linguaggi vengono usati per i range type o value constructor per intendere un insieme di valori compresi tra due estremi. Nel design di un nuovo linguaggio, per evitare di creare confusione, andrebbero rispettate certe convenzioni.
Per la concatenazione di due stringhe in genere si usa il "+" o "&".
Il nome per la funzione del type introspection (GetType, anche se qui lo scopo è leggermente diverso) è brutto e inusuale. Io sono per un coding style leggibile e molto english-style.La condizione "If GetType(value) = #NIL" non è per niente inglese. Mentre in C# si usa l'operatore "typeof" per il type introspection: "if typeof(obj) == Dog" o addirittura per i subtyping si può direttamente usare "if obj is dog". Il primo si può leggere come "if the type of obj is equal to dog". C# implementa pure un GetType(), ma come metodo di classe (e lì ha senso).
Sono piccole cose che per me contano parecchio :-)
Non ricordo quale computer scientist di rilievo ha scritto una volta: Code should be written and read like a novel.
Citazione da: "cdimauro"Io non mi farei influenzare da quello che hanno fatto gli altri linguaggi nell'uso dei simboli.Ad esempio, a me scoccia il dover usare == e != per uguaglianza e diseguaglianza, ma siccome si sono diffusi col C spesso vengono usati in linguaggi moderni che non hanno nulla a che vedere col C. Mentre io preferisco nettamente = e <> allo scopo.Per quello c'è un motivo ben preciso per non ispirarsene :-)Da un minimo di 40% ad un picco di 60% (inclusi programmatori esperti) nelle espressioni condizionali scrivono erroneamente = al posto ==. Fai conto che in C un'espressione è pure uno statement e che in compile time non ti ritorna un errore :-)E sono bug che vengono scoperti mesi/anni dopo.
Io non mi farei influenzare da quello che hanno fatto gli altri linguaggi nell'uso dei simboli.Ad esempio, a me scoccia il dover usare == e != per uguaglianza e diseguaglianza, ma siccome si sono diffusi col C spesso vengono usati in linguaggi moderni che non hanno nulla a che vedere col C. Mentre io preferisco nettamente = e <> allo scopo.
Riguardo la disuguaglianza darei l'ergastolo ai committee dell'ASCII per non aver incluso il fantastico ≠, che ovviamente è migliore di qualsiasi alternativa. Effettivamente != non ha senso. Da un punto di vista matematico <> ha molto più senso, oppure simbolicamente /= (Ada), # (Modula-2) gli si avvicinano parecchio.
Citazione da: "cdimauro"L'ho letta anch'io da qualche parte, ma adesso mi sfugge.Ce n'era un'altra carina, ma non ricordo com'era in inglese. Se riesci a dettare un codice sorgente senza errori via telefono, allora è ben scritto :-)Credo però che fosse mirato al coding style sul nome delle variabili
L'ho letta anch'io da qualche parte, ma adesso mi sfugge.
Effettivamente != non ha senso
Citazione da: "dsar"Effettivamente != non ha sensoBeh, io lo ho sempre visto come Not (!) Equal (=). Che poi sia != e non !== è un altro discorso.Voglio poi far notare che non si poteva usare /= perchè questa simbologia è già usata per la divisione e assegnazione.Infine # personalmente a prima vista non mi ispira un "diverso".Si vede come la sintassi è soggettiva a chi programma più che al linguaggio.
Il compound assignment è la seconda caratteristica peggiore del C dopo l'equivalenza expression/statement.
Invece di avere un taglio ne ha due ;-) ≠ #
Anche io ero abituato a quella sintassi, ma dopo che sono passato ai linguaggi wirthiani la musica è cambiata, vuoi mettere un:if not found then, con if (!found) { ?
ma per questo linguaggio ci voleva una tastiera particolare (la http://http://en.wikipedia.org/wiki/IBM_2741, prettamente matematica, a parte alcuni simboli tipo ≠, ≤ e ≥ la butterei volentieri in un cassonetto) .
E così C divenne un linguaggio che piace a tutti perché molto diffuso :-)