[#3741] Re: Why it's quiet -- standard distribution issues — Aleksi Niemel<aleksi.niemela@...>
I think it's the feature of the mailing list archive to create a threads of
[#3756] RE: XMP on comments — Aleksi Niemel<aleksi.niemela@...>
> require "xmp"
[#3766] modulo and remainder — Dave Thomas <Dave@...>
[#3776] Kernel.rand — Aleksi Niemel<aleksi.niemela@...>
How about defining:
[#3781] Widening out discussions — Dave Thomas <Dave@...>
[#3795] Re: Array.uniq! returning nil — Aleksi Niemel<aleksi.niemela@...>
> As matz said in [ruby-talk:3785] and Dave said in [ruby-talk:1229],
Hi, Aleksi,
[#3823] Re: Array.pick — Aleksi Niemel<aleksi.niemela@...>
> > Just a general comment--a brief statement of purpose and using
[#3827] JRuby? — Aleksi Niemel<aleksi.niemela@...>
Is there or will there be Ruby equivalent of JPython?
[#3882] Re: Array.uniq! returning nil — Aleksi Niemel<aleksi.niemela@...>
> |look too strange, confusing, or cryptic. Maybe just @, $, %, &.
Hi,
[#3918] A question about variable names... — Dave Thomas <Dave@...>
[#3935] If your company uses Pallets, Skids, Boxes, Lumber, etc. — pallets2@...
[#3956] Tk PhotoImage options — andy@... (Andrew Hunt)
Hi all,
[#3971] Thread and File do not work together — "Michael Neumann" <neumann@...>
following example do not work correctly with my ruby
[#3986] Re: Principle of least effort -- another Ruby virtue. — Andrew Hunt <andy@...>
> Principle of Least Effort.
Hi,
[#4005] Re: Pluggable functions and blocks — Aleksi Niemel<aleksi.niemela@...>
Aleksi makes a question:
[#4008] Ruby installation instructions for Windows — Aleksi Niemel<aleksi.niemela@...>
I had to write these instructions for my friends. I thought it might be nice
[#4043] What are you using Ruby for? — Dave Thomas <Dave@...>
On 15 Jul 2000 22:08:50 -0500,
Hi,
[#4057] Re: What are you using Ruby for? — Aleksi Niemel<aleksi.niemela@...>
Johann:
[#4082] Re: What are you using Ruby for? — Aleksi Niemel<aleksi.niemela@...>
[#4091] 'each' and 'in' — hal9000@...
I just recently realized why the default
[#4107] Re: 'each' and 'in' -- special char problem? — schneik@...
[#4114] Method signature - a question for the group — Dave Thomas <Dave@...>
[#4139] Facilitating Ruby self-propagation with the rig-it autopolymorph application. — Conrad Schneiker <schneik@...>
Hi,
[#4158] Getting Tk to work on Windows — "Michael Neumann" <neumann@...>
Hi....
[#4178] Partly converted English Ruby/Tk widget demo working. — Conrad Schneiker <schneik@...>
Hi,
[#4234] @ variables not updated within method? — Hugh Sasse Staff Elec Eng <hgs@...>
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On 27 Jul 2000, Dave Thomas wrote:
[#4267] Ruby.next, Perl6, Python 3000, Tcl++, etc. -- Any opportunities for common implementation code? — "Conrad Schneiker" <schneiker@...>
Hi,
"Conrad Schneiker" wrote:
[ruby-talk:04125] Re: Function objects. was: What are you usi ng Ruby for?
Dave's solution:
> calc2 = Calculator.new(1.4)
>
> register_function("f2", calc2.method(:f2), "computer it")
> register_function("g2", calc2.method(:g2), "computer other")
This is nice.
For Clemens and Johann I'd like to say "beware procs"! They are deceptive.
Of course, despite this they marvellous :).
I thought originally that these are the differences between methods and
blocks:
Method Block
------------------------------------------
Naming named anonymous
Association associated to a class unassociated
Variable binding no binding binds
But there're some "hidden" features too:
Parameter passing all supported ways only plain (*)
Return value multiple returns or last evaluation
last evaluation
Block association when calling when created
*) no optional, grouped (*rest) or named parameters allowed,
nor block block association
So for anything but reasonable simple "procedures" one could not use proc as
a method. Generally method can't be written as a proc without changing it's
interface (parameter passing, block association) and inner logic (multiple
return -> last evaluation).
Block, however, can be written as a method if it is not binding any data it
operates on.
I'm sure all these are well thought features, but for me the Perl way seems
much clearer. In Perl on the language level closures are written as an
anonymous subroutines (and they bind). Therefore switch between
named and referenced sub foo{} $foo=\&foo; and
anonymous, binding, and referenced $foo=sub {};
is a snap. It's conceptually clear, simple and very well working solution.
Perhaps Matz wants to share some insight why blocks are working and done as
they are, and why they are inherently more complicated than Perl
"equivalent".
- Aleksi