newLISP Fan Club

Forum => Anything else we might add? => Topic started by: pjot on September 03, 2004, 01:27:41 PM

Title: Difference in Windows and Linux with PARSE
Post by: pjot on September 03, 2004, 01:27:41 PM
Hi,



Using newLisp 8.1.5, also occuring with 8.1.4. The following line works OK in Windows:



> (parse (date (apply date-value (now))) " ")

("Fri" "Sep" "3" "22:21:36" "2004")



So this is OK. An 'nth 3' delivers the time. In Linux however, the result is different:



> (parse (date (apply date-value (now))) " ")

("Fri" "Sep" "" "3" "22:21:36" "2004")



I have to use an 'nth 4' to get the time here. An extra list entity is returned, an entity which is empty: "".



How come this difference occurs?



Peter
Title:
Post by: Lutz on September 03, 2004, 01:38:35 PM
On Linux/UNIX there is an extra space to account for 2-digit days to make the whole date string constant length and your are parsing with one space.



Do the following and you will be fine:



(parse date-string "[ ]+" 0)     ; break at on or more spaces



;; or



(parse date-string "\s+" 0)



Lutz
Title:
Post by: pjot on September 03, 2004, 02:14:42 PM
And again, newLisp appears to be smarter than I am... :-) Thank you.