From 91da1824923beef28604954f4c6e6895d3039f4f Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Wed, 2 May 2012 21:28:54 +0800 Subject: Add documentation for Struct --- mrblib/struct.rb | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/mrblib/struct.rb b/mrblib/struct.rb index b11f59f2a..4b6d767a9 100644 --- a/mrblib/struct.rb +++ b/mrblib/struct.rb @@ -1,8 +1,14 @@ +## +# Struct # -# Struct -# +# ISO 15.2.18 class Struct - # 15.2.18.4.4 + + ## + # Calls the given block for each element of +self+ + # and pass the respective element. + # + # ISO 15.2.18.4.4 def each(&block) self.class.members.each{|field| block.call(self[field]) @@ -10,7 +16,12 @@ class Struct self end - # 15.2.18.4.5 + ## + # Calls the given block for each element of +self+ + # and pass the name and value of the respectiev + # element. + # + # ISO 15.2.18.4.5 def each_pair(&block) self.class.members.each{|field| block.call(field.to_sym, self[field]) @@ -18,7 +29,12 @@ class Struct self end - # 15.2.18.4.7 + ## + # Calls the given block for each element of +self+ + # and returns an array with all elements of which + # block is not false. + # + # ISO 15.2.18.4.7 def select(&block) ary = [] self.class.members.each{|field| -- cgit v1.2.3