Logo

Programming-Idioms

History of Idiom 20 > diff from v3 to v4

Edit summary for version 4 by :

Version 3

2015-05-06, 21:04:49

Version 4

2015-07-31, 19:41:18

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;
      }
    }
}