home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / m4-1.1-src.lha / src / amiga / m4-1.1 / examples / foreach.m4‾ < prev    next >
Encoding:
sendmail m4  |  1989-12-24  |  378 b   |  12 lines

  1. divert(-1)
  2. # foreach(x, (item_1, item_2, ..., item_n), stmt)
  3. define(`foreach', `pushdef(`$1', `')_foreach(`$1', `$2', `$3')popdef(`$1')')
  4. define(`_arg1', `$1')
  5. define(`_foreach', 
  6.     `ifelse(`$2', `()', ,
  7.         `define(`$1', _arg1$2)$3`'_foreach(`$1', (shift$2), `$3')')')
  8. # traceon(`define', `foreach', `_foreach', `ifelse')
  9. divert
  10. foreach(`x', `(foo, bar, foobar)', `Word was: x
  11. ')
  12.