Talk:Strip a set of characters from a string: Difference between revisions

m
→‎REXX version 3: corrected a HTML tag misspelling, corrected big to BIF.
m (→‎REXX version 3: corrected a HTML tag misspelling, corrected big to BIF.)
 
(2 intermediate revisions by 2 users not shown)
Line 5:
: It seems to be implied by omission. Why change case unless told to? --[[User:Paddy3118|Paddy3118]] 20:51, 9 June 2012 (UTC)
 
:: I didn't change case, I preserved it. But some people think that a character may be the same as a letter, and that's ambigous, letters can be upper or lowercase. It still doesn't hurt to state that. I realize that one can assume a lot from omissions, but not necessarily correct assumptions. It's only obvious to the person writing (er, not writing) the omissions. If the example wasn't shown, I would've assume ''strip'' meant to remove any ''outer'' characters, not ''inner'' characters. A lot of people have many assumptions about the words used, especially those languages which have a   '''strip''' bif  BIF.   I would've used ''Remove a set of characters from a string''. -- [[User:Gerard Schildberger|Gerard Schildberger]] 20:56, 9 June 2012 (UTC)
 
==REXX version 3==
::: ''I have noted the restriction. What's the problem with CR and LF and tab ???'' --[[User:Walterpachl|Walterpachl]] ([[User talk:Walterpachl|talk]]) 22:33, 7 June 2013 (UTC)
 
:::: You've noted '''a''' restriction (which isn't checked for; if the any of the restrictions exist, the program produces the wrong result --- if this version is inferior to a previous version, it should be corrected or removed, in my opinion).   The problem with other whitespace is that the '''space''' bifBIF removes them (because they are considered blanks).   Change the period (within the string) to a period followed by six tab characters and note the result(s). -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 23:01, 7 June 2013 (UTC)
 
:::::: Which REXX would do that? Mine (ooRexx) does not! s='a'||'05'x||b;t=space(s,0);say t c2x(t) And there should be room for simpler, albeit restricted, solutions. --[[User:Walterpachl|Walterpachl]] ([[User talk:Walterpachl|talk]]) 05:49, 8 June 2013 (UTC)
Line 16:
::::::: It seems all the "IBM" REXXes (CMS and TSO REXX, ooRexx, and the REXX compiler) use the definition of ''blanks''' to just mean ''spaces''. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 14:45, 10 June 2013 (UTC)
 
::::::: Regina REXX's PDF documentation says it uses blanks (whitespace) for most BIFs, but doesn't (it just uses spaces).   I've considered submitting a bug (or multiple bugs), but I don't believe that's the correct havior as it may break older programs --- this was a topic of heated debate a decade earlier or so); ROO and R4 do treat blanks as whitespace, at least more consistently   (I haven't test a multitude of others).   Note that (in some REXXes) whitespace is/are blanks, and blanks are spaces and several other characters such as tabs, VT, HT, LF, CR, FF, etc.   The list of which characters are considered blanks is rather vague and not comprehensive.   Older REXX interpreters only use the space character for a blank.   This most likely includes CMS REXX and TSO REXX, oRexx, the CMS and TSO REXX compiler, ooRexx, PC/REXX, and Personal REXX.
 
::::::::: I'd say the language is rather strict about the SPACE builtin-function. White space in Rexx source code is a different matter. --[[User:Walterpachl|Walterpachl]] ([[User talk:Walterpachl|talk]]) 09:35, 8 June 2013 (UTC). Afterthought: How does Strip behave in REXXes that I do not have? You mention blank in your version 1 of this task's solutions.
Line 39:
 
:::::::::::: As far as the '''strip''' BIF, that function is also dependent on what blanks are (whitespace).   The '''parse''' statement also depends on what the definition of whitespace is, as well as the '''space''' BIF.   There seems to be a lot of BIFs in REXX that use the term ''blanks'' (which means whitespace); some of which are:   WORD, WORDPOS, DATATYPE, X2C, X2B, X2D, B2C, B2X, JUSTIFY, WORDINDEX, WORDLENGTH, SUBWORD, DELWORD, FIND, WORDS, TRIM, and possibly others.   Note that some of the BIFs are "extensions" or legacy BIFs.   Because REXX numbers can have leading/imbedded/trailing ''blanks'' in them, whitespace can be more insidious, causing numeric comparisons instead of character comparisons for '''IF''' and/or '''WHEN''' statements. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Ges,ard Schildberger|talk]]) 14:45, 10 June 2013 (UTC)
::::::::::::: Apology: I stand corrected: space(s,0) removes whitespce (not only blanks). Thanks. ..[[User:Walterpachl|Walterpachl]] ([[User talk:Walterpachl|talk]]) 08:01, 19 June 2013 (UTC)
<br><br>The following is a simplier albeit restricted version of a REXX program elsewhere on Rosetta Code:
<lang rexx>/*REXX program gets two numbers and show their sum.*/