2012-06-26 5 views
5

Ho un problema con il mio codice cfml. La funzione ListAppend() non sembra funzionare.ListAppend() non funziona?

Ecco il codice nella mia pagina .cfm:

<cfset fruitList="apple, orange, banana"> 

<cfoutput> 
    fruitList before: #fruitList#<br> 
</cfoutput> 

<cfset temp = ListAppend(fruitList, "kiwi")> 
<cfoutput> 
    fruitList after: #fruitList#<br> 
</cfoutput> 

ma ottengo sempre questo output:

fruitList prima: mela, arancia, banana

fruitList dopo: mela, arancia, banana

Lo stesso vale per ListPrepend() e ListInsertAt(). Perché succede?

Qualsiasi aiuto è apprezzato.

+5

è necessario utilizzare '' –

+9

Quando si esegue in domande sul comportamento funzione, è sempre bene [controllare la documentazione] (http: // help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6d71.html) prima. Come avrebbe risposto istantaneamente alla tua domanda;): 'ListAppend' -" Restituisce Una copia della lista, con [il nuovo] * valore * aggiunto " – Leigh

+1

Sì, a differenza dei cugini' ArrayAppend() 'e' StructAppend() ', 'ListAppend()' non modifica il primo argomento per riferimento. –

risposta

29

listAppend() restituisce la nuova lista (liste non sono altro che le stringhe, che ColdFusion passa per valore), in modo in modo per voi di vedere il valore aggiunto, si avrebbe bisogno di utilizzare:

<cfset fruitlist = ListAppend(fruitList, "kiwi") /> 
+1

Non me ne sono accorto. Grazie mille. – Mohsin

8

Prova

<cfset fruitList="apple, orange, banana"> 

<cfoutput> 
fruitList before: #fruitList#<br> 
</cfoutput> 

<cfset fruitList=ListAppend(fruitList, "kiwi")> 

<cfoutput> 
fruitList after: #fruitList#<br> 
</cfoutput> 

Accord to cfquickdocs listAppend restituisce l'elenco con il valore aggiunto ad esso. http://cfquickdocs.com/#ListAppend

Spero che questo aiuti.

6

In realtà, nel tuo esempio, stai aggiungendo un elenco alla fine. Stai, tuttavia, creando un nuovo elenco, "temp", e copiando i contenuti di fruitlist su di esso e quindi aggiungendo kiwi.

<cfset temp = ListAppend(fruitList, "kiwi")> 

Se si dovesse scaricare l'elenco di temp, si vedrebbe l'elenco che si desidera vedere.

<cfdump var="#temp#">