[BioRuby] [GSoC][NeXML and RDF API] Code Review.

Anurag Priyam anurag08priyam at gmail.com
Fri Jul 2 17:07:45 EDT 2010


>
> I don't understand what you want to do, and how the const_get shorten
> your code. Please show example code.
>
>
Taking matrix for example, in each type of Matrix I have defined an add
add_row method which accepts a row which would be of the same kind(
DnaSeqMatrix will take DnaSeqRow ) :

      def add_row( row )
        raise InvalidRowException, "DnaSeqRow expected." unless
row.instance_of? DnaSeqRow
        row_set[ row.id ] = row
      end

If instead I define a add_row method in SeqMatrix like this:

def add_row( row )
  # a DnaSeqMatrix will take a DnaSeqRow
  type = self.class.to_s.sub( /Matrix/, 'Row' )
  klass = NeXML.const_get( type )
  raise InvalidRowException, "#{type} expected." unless row.instance_of?
klass
end

This way I won't have to define add_row for each sub type of SeqRow.
Similarly for others.

-- 
Anurag Priyam,
2nd Year Undergraduate,
Department of Mechanical Engineering,
IIT Kharagpur.
+91-9775550642


More information about the BioRuby mailing list