Domanda

Sto cercando di capire il codice Perl di qualcun altro senza conoscere molto il Perl. Gradirei il tuo aiuto.

Ho riscontrato una funzione Perl in questo senso:

MyFunction($arg1,$arg2__size,$arg3)

C'è un significato alla sintassi del doppio trattino basso in $ arg2 , o fa solo parte del nome del secondo argomento?

È stato utile?

Soluzione

Non esiste un significato specifico per l'uso di un __ all'interno di un nome di variabile perl. È probabilmente la preferenza del programmatore, specialmente nel caso in cui tu abbia citato la tua domanda. Puoi visualizzare ulteriori informazioni sulla denominazione delle variabili perl qui .

Altri suggerimenti

Come nella maggior parte delle lingue il trattino basso è solo una parte di un identificatore; nessun significato speciale.

Ma sei sicuro che sia Perl? Non ci sono sigilli sulle variabili. Puoi pubblicare più contesto?

Per quanto riguarda l'interprete, un carattere di sottolineatura è solo un altro carattere ammesso negli identificatori. Può essere usato come alternativa alla concatenazione o al caso di cammello per formare identificatori di più parole.

Un carattere di sottolineatura iniziale viene spesso utilizzato per indicare che un identificatore è solo per uso locale, ad esempio per le parti non esportate di un modulo. È semplicemente una convenzione; all'interprete non importa.

Nel contesto della tua domanda, il doppio trattino basso non ha alcun significato programmatico. Il doppio trattino basso significa qualcosa di speciale per un numero limitato di valori in Perl, in particolare __FILE__ & amp; __ LINE __ . Si tratta di letterali speciali che non sono preceduti da un sigillo ( $ , % o @ ) e sono interpolati solo al di fuori delle virgolette. Contengono il percorso completo & amp; il nome del file attualmente in esecuzione e la riga in esecuzione. Vedi la sezione "Letterature speciali" in perldata o questo post su Perl Monks

Sono abbastanza sicuro che arg2__size sia solo il nome di una variabile.

La risposta di Mark è ovviamente corretta, non ha un significato speciale.

Ma voglio notare che il tuo esempio non assomiglia affatto a Perl. Le variabili Perl non sono parole d'ordine. Hanno i sigilli, come vedrai dai link sopra. E Perl non ha "funzioni", ha subroutine.

Quindi potrebbe esserci un po 'di confusione su quale lingua stiamo parlando.

Dovrai dire all'interprete che " $ arg2 " è il nome di una variabile. e non " $ arg2__size " ;. Per questo dovrai usare la parentesi. (Questo utilizzo è simile a quello visto nella shell).

Questo dovrebbe funzionare MyFunction ($ arg1, arg2 $ {} __ dimensioni, $ arg3)

- Binu

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