Bug #1532 » e_matrix_enum.diff
lib/matrix.rb | ||
---|---|---|
def row(i, &block) # :yield: e
|
||
if block_given?
|
||
@rows[i].each(&block)
|
||
self
|
||
else
|
||
Vector.elements(@rows[i])
|
||
end
|
||
... | ... | |
row_size.times do |i|
|
||
yield @rows[i][j]
|
||
end
|
||
self
|
||
else
|
||
col = (0 ... row_size).collect {|i|
|
||
@rows[i][j]
|
||
... | ... | |
# 9 16
|
||
#
|
||
def collect(&block) # :yield: e
|
||
return to_enum(:collect) unless block_given?
|
||
rows = @rows.collect{|row| row.collect(&block)}
|
||
new rows, column_size
|
||
end
|
||
... | ... | |
#
|
||
def each2(v) # :yield: e1, e2
|
||
Vector.Raise ErrDimensionMismatch if size != v.size
|
||
return to_enum(:each2) unless block_given?
|
||
size.times do |i|
|
||
yield @elements[i], v[i]
|
||
end
|
||
... | ... | |
#
|
||
def collect2(v) # :yield: e1, e2
|
||
Vector.Raise ErrDimensionMismatch if size != v.size
|
||
return to_enum(:collect2) unless block_given?
|
||
(0 ... size).collect do |i|
|
||
yield @elements[i], v[i]
|
||
end
|
||
... | ... | |
# Like Array#collect.
|
||
#
|
||
def collect(&block) # :yield: e
|
||
return to_enum(:collect) unless block_given?
|
||
els = @elements.collect(&block)
|
||
Vector.elements(els, false)
|
||
end
|
||
... | ... | |
# Like Vector#collect2, but returns a Vector instead of an Array.
|
||
#
|
||
def map2(v, &block) # :yield: e1, e2
|
||
return to_enum(:map2) unless block_given?
|
||
els = collect2(v, &block)
|
||
Vector.elements(els, false)
|
||
end
|
- « Previous
- 1
- …
- 5
- 6
- 7
- Next »