summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-03 07:19:21 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-03 07:19:21 +0000
commit2cfb894d2a376becbc05938c4b67fc17ad8c26dd (patch)
treebdddca1dd6b00fe835694aa6ed15bc9b89b0a76a
parent006a8ba77f6c5e27201760dfe560eb0c63e4d70b (diff)
* lib/matrix.rb (Vector#each): make Vector enumerable.
[ruby-core:28405] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/matrix.rb11
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c242392fc0..8041f2b9ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 3 16:14:24 2010 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/matrix.rb (Vector#each): make Vector enumerable.
+ [ruby-core:28405]
+
Wed Mar 3 14:28:23 2010 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (rb_ary_select_bang): select! removes all elements for
diff --git a/lib/matrix.rb b/lib/matrix.rb
index d452bf459e..a008182c42 100644
--- a/lib/matrix.rb
+++ b/lib/matrix.rb
@@ -1081,6 +1081,7 @@ end
#
class Vector
include ExceptionForMatrix
+ include Enumerable
#INSTANCE CREATION
@@ -1141,6 +1142,16 @@ class Vector
#++
#
+ # Iterate over the elements of this vector
+ #
+ def each
+ return to_enum(:each) unless block_given?
+ @elements.each do |i|
+ yield i
+ end
+ end
+
+ #
# Iterate over the elements of this vector and +v+ in conjunction.
#
def each2(v) # :yield: e1, e2