############################################################################ # # File: rec2tab.icn # # Subject: Procedure to write record as string # # Author: Ralph E. Griswold # # Date: July 6, 2002 # ############################################################################ # # This file is in the public domain. # ############################################################################ # # This procedure writes fields of a record as tab-separated string. # Carriage returns in files are converted to vertical tabs. # (Works for lists too.) # ############################################################################ procedure rec2tab(rec, output) local i, x i := *rec - 1 every i := 1 to *rec - 1 do { x := rec[i] /x := "" writes(output, map(x, "\n", "\v"),"\t") } write(output, map(\rec[-1], "\n", "\v")) | write(output) return end