Logo

Programming-Idioms

History of Idiom 20 > diff from v16 to v17

Edit summary for version 17 by :

Version 16

2015-09-04, 18:59:14

Version 17

2015-09-04, 19:10:34

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
search x m = head [ (i, j) | 
	(i, row) <- zip [0..] m, 
	(j, cell) <- zip [0..] row,
	cell == x]
Code
x`search`m=head[(i,j)|(i,r)<-zip[0..]m,(j,c)<-zip[0..]r,c==x]