Useful funtion to remove the last character of a string.
I couldn't figure out how to remove the last character of a string, so my father wrote this cool function. trim-last: func ['Removes last value' thing [string! block!] {Block or String to remove last value}][ thing: tail thing thing: back thing remove thing thing: head thing ]
posted by: Andrew 27-Apr-2017/20:10:07-7:00
Take/last series Does this for you.
posted by: Graham 27-Apr-2017/20:25:51-7:00
Another way which doesn't need a function, and a variable to hold the intermediate result: >> series: copy [ 1 2 3 4 ] == [1 2 3 4] >> head remove back tail series == [1 2 3]
posted by: Graham 27-Apr-2017/22:35:31-7:00
If you do it this way, you could choose any index position to remove ('length string' allows you to choose the last character): string: "asdfghjkl" remove at string length? string probe string
posted by: Nick 30-Apr-2017/19:45:34-7:00
This is such a great example of my historical difficulty with REBOL, which I finally seem to be outgrowing. Andrew's function and Graham's function do the same thing with the same functions in the same order. Andrew's way is the way I would tend to write it, locked as I am into my third-generation way of thinking. But Graham's version uses the REBOL feature of passing data from one function to another which allows code to be a bit more dense and is not the way my instincts direct me. I have thought about writing a little monograph, for personal use, with a title along the lines of "Good Code or Bad?" where I collect examples of one way of coding something and contrast it with the "REBOL way." I suspect that if I would go back through all I have written I would find quite a few examples.
posted by: Steven White 1-May-2017/9:14:50-7:00
I prefer the concise form, but I get the sense that I might be in the minority.
posted by: Nick 1-May-2017/11:59:29-7:00
Steven—I had a pass at explaining this as my first entry in SO Documentation: https://stackoverflow.com/documentation/rebol/9176/series
posted by: Chris 1-May-2017/13:38:04-7:00
If you want economy and beauty in your script you need to factor ruthlessly. Remove the chaff to expose the bare essentials of what you want to achieve.
posted by: Graham 11-May-2017/22:18:13-7:00
|