[#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:03839] *arr expansion
I'm having a little problem here.
I've pared the code down to something small enough
to show what's happening.
As I understand it, when an asterisk is used before
an argument in a method definition, it means an arbitrary
number of values.
def foo(*args) # args is really a sequence of values
When it's used with an array in a method call, it means to
expand the array into a list of values.
foo(*arr) # Means same as foo(arr[0], arr[1], arr[2], ...)
Have I said anything wrong so far?
Now... in the code below, I expect this output:
[ 1, 2, 3, 4 ]
[ 3, 4 ]
[ 1, 2 ]
2
But I get:
[ 1, 2, 3, 4 ]
[ 3, 4 ]
[ 12 ]
1
Notice the line that I've marked "line A." It's a surprise
to me that the code behaves the same with or without the
asterisk.
Help?
Hal
------------------------
def Set(*elts)
Set.new(elts)
end
class Set
attr_accessor :elts
def initialize(*elts)
@elts = Array.new;
elts.each {|x| @elts << x}
@elts.uniq!
end
def -(other)
Set(*(@elts - other.elts)) ### line A
end
def inspect
s=""
@elts.each_index { |x|
z = @elts[x].to_s
case x
when 0
s += "[ "+z+(@elts.size>1?", ":"")
when 1..(@elts.size-2)
s += z+", "
when (@elts.size-1)
s += z
end
}
s+" ]"
end
def size
@elts.size
end
end
x = Set.new(1,2,3,4);
y = Set.new(3,4);
p x
p y
z = x - y
p z
p z.size
--
Hal Fulton
Sent via Deja.com http://www.deja.com/
Before you buy.