2012-06-26 7 views
5

Tengo un problema con mi código cfml. La función ListAppend() no parece funcionar.ListAppend() no funciona?

Este es el código en mi página .cfm:

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

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

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

Pero siempre consigo esta salida:

fruitList antes de: manzana, naranja, plátano

fruitList después: manzana, naranja, plátano

Lo mismo ocurre con ListPrepend() y ListInsertAt(). ¿Por qué pasó esto?

Cualquier ayuda es apreciada.

+5

es necesario utilizar '' –

+9

Cuando se encuentra con preguntas sobre el comportamiento función, siempre es bueno [consulte la documentación] (http: // help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6d71.html) primero. Como hubiera respondido a su pregunta al instante;): 'ListAppend' -" Devuelve una copia de la lista, con [el nuevo] * valor * agregado " – Leigh

+1

Sí, a diferencia de los primos' ArrayAppend() 'y' StructAppend() ', 'ListAppend()' no altera el primer argumento por referencia. –

Respuesta

29

listAppend() devuelve la nueva lista (las listas no son más que las cadenas, que ColdFusion pasa por valor) así que para que usted pueda ver el valor adjunto, que tendría que utilizar:

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

No me di cuenta de eso. Muchas gracias. – Mohsin

8

Trate

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

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

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

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

Acuerdo a cfquickdocs listAppend devuelve la lista con el valor adjunto. http://cfquickdocs.com/#ListAppend

Espero que esto ayude.

6

En realidad, en su ejemplo, se agrega a una lista muy bien. Sin embargo, estás creando una nueva lista, "temperatura", y copiando el contenido de la lista de resultados y anexando kiwi.

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

Si va a volcar la lista temporal, verá la lista que desea ver.

<cfdump var="#temp#">