On Fri, 16 Jul 2004 10:47:15 +0900, Xiangyu Yang <xiangyu.yang / gmail.com> wrote: > gabriele renzi wrote: > > If you're working with hardware check out > > http://www.aracnet.com/~ptkwt/ruby_stuff/RHDL/ > > Ruby Hardware Description Language :) > An interest thing. > > In your RHDL you have to use .assign or .<< to do signal assignment, > annoying thing also in my code for HW CPU model. > > In ruby, the "=" will assign other *object* to a *variable*, and can't > (and shouldn't) be overrided. There are no simple way to modify the > state of an *object* referenced by a *variable*. Using .assign or > overriding other operators to do this job are both ugly. I notice that > someone suggested ":=" operator which can be overrided. I dream of it > all the days :). If I have ":=", I'm sure that my CPU model will save > at least half of the current lines and the program will be much more > natural and clearer. > > In short, when you use ruby to model some objects, the ability to > assign/modify the *object* state/value in simple expression way is very > useful. It provides the possibility of running ruby code *directly* to > model other worlds. Right. But not all object states or values can be changed that way, and there is no meaningful default operation for such a behaviour. Thus, it makes more sense to use the appropriate #<< or #assign mechanism. -austin -- Austin Ziegler * halostatue / gmail.com * Alternate: austin / halostatue.ca