sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / TabFileReader.schelp
bloba38750e0b467830c74965840ef11a018fb052c2a
1 class:: TabFileReader
2 summary:: file reader for tab separated data
3 related:: Classes/File
4 categories:: Files
6 description::
7 TabFileReader reads tab/return delimited files into 2D arrays.
9 For semi-colon-delimited files use link::Classes/SemiColonFileReader::. For comma-separated files use link::Classes/CSVFileReader::. For space-delimited files, or custom delimiters, use link::Classes/FileReader::.
11 Examples::
13 code::
15 // write a test file:
16 f = File("TabDelTest.sc", "w");
17 f.write(
18 "Some   tab-    delimited       items   in      line    1
20 and     then    some    more    in      line    3
23 f.close;
27         // open file, read and put strings into array, close file.
28 x = TabFileReader.read("TabDelTest.sc").postcs;
30         // can skip empty lines:
31 x = TabFileReader.read("TabDelTest.sc", true).postcs;
33         // do file open/close by hand if you prefer:
34 f = File("TabDelTest.sc", "r"); f.isOpen;
35 t = TabFileReader(f);
36 t.read;
37 f.close;
40 // write a test file with numbers:
41 f = File("TabDelTestNum.sc", "w");
43 (1..10).do { |n| f.write(n.asString ++ Char.tab); };
44 f.close;
47 x = TabFileReader.read("TabDelTestNum.sc").postcs;
48 x.collect(_.collect(_.interpret));      // convert to numbers.
50         // or you can do it immediately:
51 x = TabFileReader.readInterpret("TabDelTestNum.sc").postcs;
54 // write a test file with numbers:
55 f = File("TabDelTestNum.sc", "w");
57 (1..100).do { |n|
58         f.write(n.asString ++ if (n % 10 != 0, Char.tab, Char.nl)); };
59 f.close;
63 x = TabFileReader.readInterpret("TabDelTestNum.sc").postln;