[#3101] Compile_err — "Fergus Hayman" <shayman@...>
[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>
[#3110] my wish list for Ruby — Mathieu Bouchard <matju@...>
[#3119] Re: Min and max? — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@CAM.ORG> writes:
[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>
Hi,
[#3154] 3-d arrays? — Hugh Sasse Staff Elec Eng <hgs@...>
Is there an idiom for 3-dimensional arrays in Ruby? I see that
[#3167] ruby.h needed to compile Interbase module — Jilani Khaldi <jilanik@...>
Hi all,
[#3189] BUG or something? — "Park Hee Sob" <phasis@...>
Hi,
[#3221] Re: Ruby & Interbase -- Please answer if you know! — ts <decoux@...>
>>>>> "J" == Jilani Khaldi <jilanik@tin.it> writes:
[#3222] Ruby coding standard? — Robert Feldt <feldt@...>
On Fri, 9 Jun 2000, Robert Feldt wrote:
Mathieu Bouchard <matju@cam.org> wrote:
[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>
> |I am new to Ruby and this brings up a question I have had
Aleksi Niemel<aleksi.niemela@cinnober.com> writes:
On 12 Jun 2000, Dave Thomas wrote:
ts <decoux@moulon.inra.fr> writes:
[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>
> I want to contribute to the ruby project in my spare time.
Aleksi Niemel<aleksi.niemela@cinnober.com> writes:
Hi,
On Tue, 13 Jun 2000, Toshiro Kuwabara wrote:
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#3331] Selling Rubies by the Carat — Dave Thomas <Dave@...>
[#3338] PID of child processes — Andrew Hunt <Andy@...>
[#3363] chomp! — "David Douthitt" <DDouthitt@...>
I was looking at the documentation for chomp and chomp! - and the results of chomp startled me to say the least.
[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>
I was looking at the Ruby editor/IDE for windows and was disappointed with
[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>
Hi All,
Jilani Khaldi <jilanik@tin.it> writes:
Hi,
"NAKAMURA, Hiroshi" <nahi@keynauts.com> writes:
Hi, Dave,
Hello,
[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>
[#3515] Options database (was: Define & Include?) — claird@... (Cameron Laird)
In article <8ikot4$ki$0@216.39.170.247>, Dave LeBlanc <whisper@oz.net> wrote:
[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>
Given that I cannot overload =, how should I go about ensuring a deep
In message "[ruby-talk:03516] Deep copy?"
On Tue, 20 Jun 2000, GOTO Kentaro wrote:
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#3532] Extension in C++? — Robert Feldt <feldt@...>
[#3541] function objects? — Johann Hibschman <johann@...>
Hi folks,
[#3544] A small quiz — Dave Thomas <Dave@...>
[#3588] Interface polymorphism — hal9000@...
Another question, guys.
[#3607] Is there a statistician in the house? — Dave Thomas <Dave@...>
[#3662] Ruby 1.4.5 install from Mandrake cooker rpms ?problem? — Charles Hixson <charleshixsn@...>
This is the first time that I've installed ruby, so
[#3685] no traffic — matz@... (Yukihiro Matsumoto)
Hi,
[#3694] Why it's quiet — hal9000@...
We are all busy learning the new language
Hi,
Hi,
Hi, matz,
Hi,
Hi,
[#3699] Multithreaded/Embedded Ruby? — "Warren Postma" <embed@...>
Is there any information on Thread safety in ruby. Suppose I embed Ruby in a
Hi,
[ruby-talk:03234] Questions re: "new" "+=" etc.
Posting to the ng since I've temporarily lost
email access... :(
Every time I think I am starting to master Ruby,
I run across things I don't understand.
No flames, please, but I know C++, some Java,
Object Pascal, and some Perl. I *don't* know
Smalltalk, Scheme, CLU, Python or (much) Eiffel.
This may relate to my occasional confusion.
My comments here refer to the code fragment below.
Firstly:
I was trying to create an object that could be added
to itself. I tried to implement the + operator, and
I discovered that I could not invoke "new" from
within the class -- see line (e). I assume this is
a feature -- but why?
I did find that lines (c) and (d) worked.
I also found that line (b) worked -- this was an
idiom I stole from someone's code. The method is
defined on line (a), outside the class.
Secondly:
Since I implemented the + operator, the += operator
should have been created for me. (And it was, as I
confirmed.)
But I can't alias anything to it.
Line (f) works fine, as expected. Line (g) does not,
nor does line (h), outside the class definition.
Is += a "real" method or not?
Thirdly:
Line (i) requires parens -- not sure why -- see line (j).
This tells me Wocka::+ is NOT defined.
Line (l) tells me that x.+ is defined.
The same attempts on Wocka::+= and x.+= (see lines (k)
and (m)) both result in syntax errors.
Comments?
Hal Fulton
### --------------------- code ------------------------------
def Wocka(x) # Line (a)
Wocka.new(x)
end
# Dummy class...
# doesn't really do anything.
class Wocka
attr_accessor :data
def initialize(x)
@data = x
end
def + (other)
case other.type.to_s
when "Wocka"
Wocka(@data + other.data) # Line (b)
# self.type.new(@data + other.data) # Line (c)
# type.new(@data + other.data) # Line (d)
# new(@data + other.data) # Line (e)
when "Fixnum"
Wocka(@data + other)
else
raise "Adding an unsupported type to a Wocka object."
end
end
alias add + # Line (f)
# alias increase_by += # Line (g)
def inspect
"Data = " + @data.to_s
end
end
# alias Wocka::increase_by Wocka::+= # Line (h)
x = Wocka.new(20)
y = Wocka.new(30)
z = x + y
p z
x += y
p x
y += 13
p y
# if defined? Wocka::+ # Line (i)
if defined? (Wocka::+) # Line (j)
print "Wocka::+ is defined\n"
else
print "Wocka::+ is NOT defined\n"
end
# if defined?(Wocka::+=) # Line (k)
# print "Wocka::+= is defined\n"
# else
# print "Wocka::+= is NOT defined\n"
# end
if defined?(x.+) # Line (l)
print "x.+ is defined\n"
else
print "x.+ is NOT defined\n"
end
# if defined?(x.+=) # Line (m)
# print "x.+= is defined\n"
# else
# print "x.+= is NOT defined\n"
# end
Sent via Deja.com http://www.deja.com/
Before you buy.