def initialize(width=0, height=0)
if((width==0) && width<height)
raise NotImplementedError,
"\(#{width}\) width Tda cannot have a height."
else @tda = Array.new(width).map!{ Array.new(height) }
end
end
def width?
return @tda.size
end
def height?
if(width?>0)
return @tda[0].size
else
return nil
end
end
#--Returns the dimensional size (x x y) as a string
def size
w=@tda.size
if(width?>0)
h = @tda[0].size
else
h = 0
end
return "#{w}x#{h}"
end
#--Returns true if both Tda's have equal widths and heights
def eql_size?(tda)
bool=false
lh=size.split('x')
rh=tda.size.split('x')
if(lh[0]==rh[0])
bool=true
end
if(lh[1]==rh[1])
bool=true
else
bool=false
end
return bool
end
end
This is what I've got so far, but I can't seem to figure out how to
write methods for: copying a Tda to another Tda, and indexing the Tda.
Thanks for the help!
def initialize(width=0, height=0)
if((width==0) && width<height)
raise NotImplementedError,
"\(#{width}\) width Tda cannot have a height."
else @tda = Array.new(width).map!{ Array.new(height) }
end
end
def width?
return @tda.size
end
def height?
if(width?>0)
return @tda[0].size
else
return nil
end
end
#--Returns the dimensional size (x x y) as a string
def size
w=@tda.size
if(width?>0)
h = @tda[0].size
else
h = 0
end
return "#{w}x#{h}"
end
#--Returns true if both Tda's have equal widths and heights
def eql_size?(tda)
bool=false
lh=size.split('x')
rh=tda.size.split('x')
if(lh[0]==rh[0])
bool=true
end
if(lh[1]==rh[1])
bool=true
else
bool=false
end
return bool
end
end
This is what I've got so far, but I can't seem to figure out how to
write methods for: copying a Tda to another Tda, and indexing the Tda.
Thanks for the help!
I haven't tried this, but this method might help -
def copy_tda(original_array)
new_tda = []
original_array.each_index do |i|
new_a = []
original_array[i].each_index { |j| new_a <<
original_array[i][j].clone }
new_tda << new_a
end
return new_tda
end
def initialize(width=0, height=0)
if((width==0) && width<height)
raise NotImplementedError,
"\(#{width}\) width Tda cannot have a height."
else @tda = Array.new(width).map!{ Array.new(height) }
end
end
def width?
return @tda.size
end
def height?
if(width?>0)
return @tda[0].size
else
return nil
end
end
#--Returns the dimensional size (x x y) as a string
def size
w=@tda.size
if(width?>0)
h = @tda[0].size
else
h = 0
end
return "#{w}x#{h}"
end
#--Returns true if both Tda's have equal widths and heights
def eql_size?(tda)
bool=false
lh=size.split('x')
rh=tda.size.split('x')
if(lh[0]==rh[0])
bool=true
end
if(lh[1]==rh[1])
bool=true
else
bool=false
end
return bool
end
end
This is what I've got so far, but I can't seem to figure out how to
write methods for: copying a Tda to another Tda, and indexing the Tda.
Thanks for the help!
-- Posted via http://www.ruby-forum.com/.
gem install narray
it's this and *much* *much* more - not to mention insanely fast.
On Jun 27, 2008, at 4:23 PM, Justin To wrote:
--
we can deny everything, except that we have the possibility of being better. simply reflect on that.
h.h. the 14th dalai lama
In general, it's good to let the comparison methods, like ==, do their
thing, which is to produce true and false. There's usually no need to
store and test the results separately.
Moreover, in this particular case, I think you could just do:
def eql_size?(tda)
size == tda.size
end
David
···
On Sat, 28 Jun 2008, Justin To wrote:
--
Rails training from David A. Black and Ruby Power and Light:
ADVANCING WITH RAILS July 21-24 Edison, NJ
See http://www.rubypal.com for details and updates!