Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: What operator prepends?

by Tanktalus (Canon)
on Jan 25, 2006 at 22:21 UTC ( #525581=note: print w/ replies, xml ) Need Help??


in reply to Re^2: What operator prepends?
in thread What operator prepends?

First off, "= [...] ." isn't an operator as per the original topic. That's two operators. ;-)

However, more importantly, this is just not how I mentally think of creating a string. If I want to generate a string such as "this is the output", I don't think about starting with the string "output" and prepending a bunch of stuff. I think about how to create "this", then I think of how to create "is", etc. It's actually quite rare that I'll want to generate "the" before I generate "is". In fact, I often end up with code like this:

my @text; push @text, generate_this(); push @text, generate_is(); push @text, generate_the_output(); return join ' ', @text;
That's just how I think of the string, and I find that when my code matches the problem in my head, it's far less likely to have bugs in it. Especially expensive design bugs.


Comment on Re^3: What operator prepends?
Download Code
Re^4: What operator prepends?
by swampyankee (Parson) on Jan 26, 2006 at 03:46 UTC

    I also tend to create my strings from left to right, probably because that's how I tend to write. I add stuff to the end -- push vs unshift -- so a "prepend" operator is not something I would think to include in a language design.

    Perhaps inaccurately, I don't think of .= the "append" operator; I think of it as an abbreviation for $string = $string . $more.

    emc

    " When in doubt, use brute force." — Ken Thompson

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://525581]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2015-07-05 09:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (61 votes), past polls