2016-05-19 28 views
5

Mam strukturę, które sprawdzam pod kątem istnienia klucza. Następnie muszę sprawdzić, czy wartość tego klucza jest łańcuchem. Nie znalazłem niczego w dokumentach Adobe CF, jak funkcja isString() (podobna do isNumeric()).Sprawdź, czy wartość jest ciągiem w Coldfusion

Czy istnieje dobry sposób inny niż za pomocą pozornie szerszy isSimpleValue()?

+0

przejść przez te [Functions łańcuch] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec1a60c-7ffc.html#WSc3ff6d0ea77859461172e0811cbec22c24-6a3a) i stosować jak na swoje potrzeby –

+0

@AlexBaban dobry punkt . Na pewno nie chcę zwracać fałszywych negatywów, jeśli ciąg składa się ze znaków numerycznych lub znacznika czasu lub jest "prawdą" lub "fałszem". Wygląda na to, że 'isSimpleValue' jest prawdopodobnie tym, czego chcę. – jinglesthula

+1

Pytanie - jakie byłyby plusy i minusy używania operatora '!' W celu uzyskania przeciwieństwa funkcji 'isNumeric()'? To była pierwsza myśl, którą miałem, ale jestem pewien, że z jakiegoś powodu jest nie tak. – TRose

Odpowiedz

4

Dobra droga będzie zależeć od kontekstu. ColdFusion nie używa typów jawnych dla zmiennych.

"123456" może być ciągiem znaków, a "2016-05-18 13:08:00" również może być ciągiem znaków, masz dobre pytanie, ale testowanie wartości zależy od tego, co próbujesz zrobić i czego dzieje się z nim dalej.

+1

Niejasno pamiętam, że czytałem o CF i pisałem o tym, że w pewnym momencie tak było, ale tak naprawdę nie zgrubiałem tego przed opublikowaniem pytania. W tym przypadku myślę, że "to zależy", to jest dokładnie słuszne. Po przeczytaniu wszystkiego tutaj zgadzam się, że to zależy całkowicie od tego, co próbujesz zrobić. Mam nadzieję, że czytelnicy z tym samym pytaniem będą mogli przeczytać komentarze i odpowiedzi tutaj i uzyskać ten sam moment eureki. – jinglesthula