[#7476] Net::HTTP Bug in Ruby 1.8.4? — James Edward Gray II <james@...>
Can a Net::HTTP guru comment on this message:
[#7485] Bugzilla for ruby? — Hadmut Danisch <hadmut@...>
Hi,
[#7493] how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
Hello,
[#7497] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
Hello,
[#7500] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
The problem with the code you sent is that you have to go through ALL
The columns store the actual values (doubles), and the rows store pointers to the corresponding doubles. This way, I can update a double directly via the columns, via the rows after dereferencing the pointers.
[#7518] Proposal: String#notempty? — Bertram Scharpf <lists@...>
Hi,
[#7524] Sefe level: bug or feature? — "Kirill A. Shutemov" <k.shutemov@...>
Why cannot do eval with $SAFE=3 and can with $SAFE=4? Is it bug or
Hi,
On Mon, 13 Mar 2006, Yukihiro Matsumoto wrote:
[#7529] Re: Proposal: String#notempty? — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#7546] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
In Ruby, there's the []= and [] operators which you can define together.
[#7553] "not" operator used in expression that is a method parameter can generate syntax error — noreply@...
Bugs item #3843, was opened at 2006-03-15 22:09
Hi,
Nobu, you are not answering to the question.... You have to unveil why
Hi,
Hello,
Zev Blut wrote:
On 3/16/06, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:
On 3/16/06, Zev Blut <rubyzbibd@ubit.com> wrote:
Hello,
Yukihiro Matsumoto wrote:
On 3/16/06, mathew <meta@pobox.com> wrote:
Brian Mitchell wrote:
On 3/16/06, mathew <meta@pobox.com> wrote:
Dear all
What you've described is the basic predence difference between
Evan Phoenix wrote:
[#7600] ruby_script ? — "Nicolas Despr鑚" <nicolas.despres@...>
Hi list,
>>>>> "N" == Nicolas Despr=E8s?= <ISO-8859-1> writes:
On 3/25/06, ts <decoux@moulon.inra.fr> wrote:
>>>>> "N" == Nicolas Despr=E8s?= <ISO-8859-1> writes:
[#7601] to_str, to_s and StringValue — "Gerardo Santana Gez Garrido" <gerardo.santana@...>
If I understand correctly, StringValue is a way for writing duck-type
[#7614] PATCH: A subclassable Pathname — "Evan Phoenix" <evanwebb@...>
A simply change (changing all references of "Pathname.new" to
In article <92f5f81d0603262350k796fe48fp2224b9f2108ac507@mail.gmail.com>,
Quite right on the .glob and .getwd. I guess the tests don't test hit
In article <92f5f81d0603270903g2fb02244i6a395be708dfffa3@mail.gmail.com>,
In article <87fyl3x0wd.fsf@m17n.org>,
Hm, well, thats because of the shortcut behavior in Pathname#+ which
In article <92f5f81d0603271717r1ce51d30p6c28e363dc32a09b@mail.gmail.com>,
Re: how to introduce reference objects into ruby
On Thu, 9 Mar 2006, Geert Fannes wrote: > One thing that hinders the usability of Ruby for the things I want to > do, is the fact that certain objects cannot be modified "in place" and > always return NEW objects (like Fixnum, Bignum or Float), making it hard > to do parameter passing by reference or similar things. Things get > easily out of sync and both memory and cpu time (and programming > overhead) has to be wasted to keep things going as should. Fixnum involves no memory allocation whatsoever, so the concept of in-place couldn't even possibly apply. I see two kinds of solutions: 1. you can use delegation as in your Reference example; however, you won't be able to use += (and such) transparently, because those are completely non-overridable in Ruby. The best you'll be able to do is myVar[] += 1; that is, Ruby has a limited concept of lvalue which is limited to a few canned syntactic forms and you can't override any of them. 2. It's also possible to construct things that are pointers to variables instead of to objects, if you make them a pair of a holding object together with the name of the variable in it. For example, every local context has a Binding object that is associated to it (but is created only on-demand, as there is a faster internal form for it). It could look like: class VarPtr def initialize(b,s) @b=b; @s=s.to_s end def []() @b.eval(@s) end def []=(v) @v=v; @b.eval(@s+"=@v"); @v=nil end end where the arguments of VarPtr.new are a Binding and a String that has to be a valid local variable identifier. Here, @v is just a temporary buffer because the assignment can't run in two different sets of locals at once, so I put it in the object itself although it has the purpose of a local. Applied to vectors, the second solution is more efficient. E.g. instead of having one indirector per vector cell, use ordinary numbers inside of the matrix, and then use a variant of VarPtr (a less esoteric one: no bindings, just easy stuff!) like this: class VecElemPtr def initialize(vec,i) @vec=vec; @i=i end def []() @vec[@i] end def []=(v) @vec[@i]=v end end and this can be extended to elements in matrices, rows in matrices, columns in matrices, etc. (makes sense?) and you can add #method_missing and #coerce and make it subclass Numeric if you want. The advantage of this approach is that it doesn't create VecElemPtr objects where you don't need them. > This seems a bit drastic, if someone knows an easier solution to this > problem, please let me know. If not, are there people willing to help me > with introducing a Reference object in Ruby or have suggestions how this > can be done? I cannot imagine no one encountered the same problems > before. If you were to implement references in the core of ruby, how would you deal with fixnums? _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - t駘:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montr饌l QC Canada