in reply to How to understand chapter 6 of Higher Order Perl?
It doesn't help that the examples are really boring and kind of obfuscated. For instance: sub promise(&) { $_[0] } That's right, that thing does nothing. I find this really annoying.
It doesn't "do nothing". It constructs a 'promise' from an anonymous block.
That is, it takes an anonymous block of code and returns a code reference to it, so that it can be executed at sometime in the future:
sub promise(&) { $_[0] };; ... $later = promise{ say 'Keeping my' };; ... $later->();; ## or just &$later;; Keeping my
In other words, it constructs a callback.
To create an 'infinite' stream of values starting at 123 and incrementing by 2:
sub countFromBy{ my( $from, $step ) = @_; return promise{ $from += $st +ep } };; ... $counter = countFromBy( 123, 2 );; ... say &$counter for 1 .. 10;; 125 127 129 131 133 135 137 139 141 143
Maybe that clarifies things a little for you?
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
In Section
Seekers of Perl Wisdom