Domanda

Sto imparando OOP con il language.After programmazione pascal googling Internet, ho trovato il OOP -. La GNU Pascal Manaul

Che cosa significa questa dichiarazione di funzione?

function Baz (b, a, z: Char) = s: Str100; { not virtual }

Non ho mai visto = xx prima, e sembra che la sintassi Pascal non ce l'ha.

È stato utile?

Soluzione

Questo sembra essere un po 'di estensione non standard. L'implementazione della funzione in questione è:

function FooParent.Baz (b, a, z: Char) = s: Str100;
begin
  WriteStr (s, 'FooParent.Baz (', b, ', ', a, ', ', z, ')')
end;

Normalmente in Pascal, il nome della funzione viene utilizzato come variabile funzione di ritorno, per cui la funzione sopra sarebbe scritta così:

function FooParent.Baz (b, a, z: Char): Str100;
begin
  WriteStr (Baz, 'FooParent.Baz (', b, ', ', a, ', ', z, ')')
end;

Risulta che la sintassi = s indica che il valore di ritorno della funzione viene memorizzato nella s variabile all'interno del corpo della funzione. Io non so perché che avrebbe bisogno di essere esposti nell'interfaccia oggetto, però.

Altri suggerimenti

Non posso rispondere alla tua domanda, ma mi permetto di suggerire di imparare OOP con un linguaggio come Python o < a href = "http://groovy.codehaus.org/" rel = "nofollow noreferrer"> Groovy . Pascal non è davvero qualcosa su cui sarete in grado di costruire una carriera. Preferirei suggerisco come terza o quarta lingua per darvi alcune idee come funzionano le altre lingue, ma non come prima lingua principale /.

Entrambi offrono una console interattiva (per Python, suggerisco ipython ) dove è possibile fare piccoli esperimenti.

Nota: Alcune persone mi attaccano per il fatto che io non so molto di Pascal. Non sono sicuro di dove si ottiene l'idea. Ho più di 200K punti su SO, so 30 linguaggi di programmazione (sanno == scritti grandi quantità di codice in esso), ho scritto il codice in Pascal, all'inizio della mia carriera.

ho capito male quando il tuo linguaggio di programmazione amata non ottiene il riconoscimento si sente che merita. Una facile soluzione: Hai fatto la decisione di usare quel linguaggio, quindi deve essere il migliore - altrimenti la vostra decisione sarebbe sbagliato

.

Ma quando ho confrontare il codice scritto in tutte le lingue che conosco, Pascal / Delphi / Modula / Oberon sono tra quelli che Non consiglio per vari motivi. Delphi ha una certa trazione a causa di Borland, ma che è finita. Ho visto il codice che buoni programmatori Delphi ha scritto e il mio primo pensiero è stato:. Costi di manutenzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top