Logo

Programming-Idioms

History of Idiom 20 > diff from v4 to v5

Edit summary for version 5 by :

Version 4

2015-07-31, 19:41:18

Version 5

2015-07-31, 19:41:33

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Code
sub search {
   my $m = shift;
   while ( ($k1,$v1) = each @$m ) {
      while ( ($k2, $v2) = each @$v1 ) {
           return $k1, $k2;
      }
    }
}
Code
sub search {
   my $m = shift;
   while ( ($k1,$v1) = each @$m ) {
      while ( ($k2, $v2) = each @$v1 ) {
           return $k1, $k2;
      }
   }
}