Re: problems with 4.0.3
- Posted by useless Oct 09, 2011
- 1054 views
... when tracing a program using v4.0.3, i cannot F1/F2 to see the output
This is a bug that occurs when Euphoria is built using MingW (GCC for Windows). I'm current working on a fix for this and it will probably be released very shortly. If you build Euphoria using Watcom, then this bug does not occur.
Problem two is remove_all() doesn't, on v40b4-3412 or on v4.0.3.
The purpose of remove_all is to remove all elements in the second parameter that equal the first parameter. To quote the manual ...
This function weeds elements out, not sub-sequences.
In the example you gave there is no single element in the second parameter that is equal to "?selectlang=ru.' Remember that a string is a sequence of integer elements (characters), so you can see that there is no character that matches the string "?selectlang=ru".
I was somewhat thrown off by the use of the word "element". While i know Euphoric atoms and sequences, i interpreted "element" as a collection of atoms like "blagtorf", as opposed to a collection of sequences like {"blag","torf"}.
I wonder if sub-naming functions for what they operate on would be handy. So replace_all_s() and replace_all_a(). I don't know. I do think it's shortsighted to lock in a function name to atoms or sequences, when it's an equally great name for the other. Since the implementation of the function calls everything an object, why not sprinkle a few if sequence(needle) or if atom(needle) and handling the values differently?
useless