[#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:04118] Re: What are you using Ruby for?
Clemens Hintze writes:
>> As I understand Ruby, I would have to make all of these functions into
>> global Proc objects and use $-names to reference them, if I want f1
>> and g1 to be callable using the same conventions. That seems like it
>> would get very ugly very fast.
[...]
> def f1
> return proc { |x, y| return <something> }
> end
> f1.call(1,2)
> register_proc "f1", f1, "compute something"
This is a neat trick.
> g1 = make_g_from_proc f1
> register_proc "g1", g1, "compute something scaled by scale"
[...]
> But I would try to solve this in a more OO way ... Using closures
> resembling functions! Store them in a certain module/class that
> indicates that these closures are thought to work on certain data for
> computation ...
I tried my hand at defining this in a "proper" way, and I still ended
up with way too many global variables.
I came up with:
# Class of functions mapping from (period x magnetic-field) space to the
# real number line.
class PBtoR
# default function
def call(p, b)
p
end
end
$p = PBtoR.new
$b = PBtoR.new
def $b.call(p, b)
b
end
$f = PBtoR.new
def $f.call(p, b)
return p*b
end
def g_from_f(f)
proc {|p, b| f(p, b)*p**1.5}
end
$g = g_from_f($f)
...
This seems okay, but it has the "problem" of requiring lots of ugly
$'s everywhere.
If I could wrap this up in a module, so that I could both use
functional-style trickery when defining the objects, like above, and
still be able to call them in a nice way, I'd be perfectly happy, but
I haven't yet figured out how to do that.
Is there any way to wrap what I've written above into a module, so
I could say
PBFuncs.p(0.1, 1e12) -> 0.1
PBFuncs.b(0.1, 1e12) -> 1e12
PBFuncs.g(0.1, 1e12) -> whatever it is
and so on? I guess I still don't understand the way namespaces
work in Ruby, or the way evaluation while loading works.
--
Johann Hibschman johann@physics.berkeley.edu