ColdFusion-9 "includeEmptyValues" - PullRequest
       2

ColdFusion-9 "includeEmptyValues"

2 голосов
/ 26 июля 2011

Это мой код:

returnStruct.myList = myList;
returnStruct.first = trim(ListGetAt(myList,3));
returnStruct.last = trim(ListGetAt(myList,13));
returnStruct.address = trim(ListGetAt(myList,15));
returnStruct.city = trim(ListGetAt(myList,2));
returnStruct.state = trim(ListGetAt(myList,9));

Все работает нормально, пока myList не достигнет пустых значений, а затем все вылетает.Я нашел команду «includeEmptyValues», которую я могу установить на «да», но я не знаком с ней, и документация по ColdFusion 9 не самая лучшая, с которой я столкнулся.

Ответы [ 2 ]

5 голосов
/ 26 июля 2011

http://cfquickdocs.com/cf9/#listgetat

Предыдущие версии ColdFusion (и CF9 по умолчанию) считали последовательные разделители как один разделитель. Итак, список, который выглядел так:

<cfset myList="a,b,,c,,d" />

считалось, что имеет четыре элемента.

Недавно добавлен атрибут "includeEmptyValues".

listGetAt(list, position [, delimiters, includeEmptyValues ])

Так что пока

<cfset myVar=listGetAt(myList,6) />

выдаст ошибку

<cfset myVar=listGetAt(myList,6,",","true") />

успешно установит myVar в d.

0 голосов
/ 26 июля 2011

может потребоваться использовать listToArray () и ArrayIsDefined ().Поиграйте с помощью includeEmptyFields attr и посмотрите, какое поведение вы предпочитаете.True = конвертировать пустые элементы в списке в пустые записи массива

...