From: Edward Faulkner Date: 2005-12-23T09:04:22+09:00 Subject: Re: correct terminology for a function that yields --TRYliJ5NKNqkz5bu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Dec 23, 2005 at 09:00:31AM +0900, Joe Van Dyk wrote: > def foo > yield > end >=20 > foo do > puts "hey" > end >=20 >=20 > What's the correct description of what is going on there? I've got a > function foo. No arguments, right? Does it "take a block"? I know > it gives control to the block, but I'm not sure of the correct > terminology to use. It does indeed "take a block". The block argument is implicit. You could make it explicit if you wanted to: def foo(&blk) blk.call end In more general terms, any function that takes another function as an argument (or returns one as a result) is known as a higher-order function. regards, Ed --TRYliJ5NKNqkz5bu Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFDqz73nhUz11p9MSARAsHCAJ0TkLQhz3t05LjsWtHfIpsHoUQF4QCg2s7L JvuJJgWUn4q8urPjAcOftQc= =ItPk -----END PGP SIGNATURE----- --TRYliJ5NKNqkz5bu--