read . files . sncode
READ
NAME
read - Reads a file.
SYNOPSIS
read([error:variable,]textfile:binaryfile:file:compilefile:"file", …);
DESCRIPTION
This function is used to read files. Cannot read PDF file.
If the "textfile" parameter is used with a file, thaen the file is read.
If the "binaryfile" parameter is used with a file, then the file is assumed to be a compiled extenso file. The file is executed and the result is returned.
If the "compilefile" parameter is used with a file, then the file is assumed to be a source extenso file. The file is compiled, executed and the result is returned.
If the "file" parameter is used with a file, or if only a file name is given, then there are 3 possibilities:
- If the file extension is snc, the file is assumed to be a compiled extenso binary file. The file is executed and the result is returned.
- If the file extension is sn, the file is assumed to be a source extenso file. The file is compile, executed and the result is returned.
- All other extensions are read.
If the "error" parameter is used, errors will be stored in this variable. Error variables will contain:
{ "errmsg":"Errcode=14 Can't open text file: ..." "filename":"/usr/local/website/v5/html/tests/test.sn", "cfile":"files.c", "errcode":14, "filefrom":"/usr/local/website/v5/html/tests/test.sn", "line":4,"error":"Can't open text file: /usr/local/website/v5/html/tests/areiuhgiwuerhgiew: No such file or directory", "cline":2622, "compileuid":0, "date":"2014-03-26 11:36:12" }.
If there is no error, errcode will be zero.
EXAMPLES
Note: In the followings examples, the _ between the { should be removed to make it work.
res={_{ read("/xyxyx"); }}. return .*No such file or directory.* res={_{ void generate(compile:true,file:"/tests/test-read-generate.snc",template:"/tests/test-read-generate.sn"); a=read("/tests/test-read-generate.snc"); a; }}. return res=res from sample = 512 11. code later: This will be executed later11. . res={_{ a=read("/tests/test-read-generate.snc"); a; }}. return res=res from sample = 512 11. code later: This will be executed later11. . res={_{ a=read(binaryfile:"/tests/test-read-generate.snc"); a; }}. return res=res from sample = 512 11. code later: This will be executed later11. . res={_{ a=read("/tests/sample.sn"); a; UWRITE;}}. return res=res from sample = 512 11.undefined. res={_{ a=read(compilefile:"/tests/sample.sn"); a; UWRITE;}}. return res=res from sample = 512 11.undefined. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~ "GWRITE"; a=~"multiline";}}. return res=truetrue. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~ "GWRITE"; a =~[i] "Multiline";}}. return res=truetrue. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~ "GWRITE"; a =~"Multiline";}}. return res=truefalse. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~ "GWRITE"; a !~"Multiline";}}. return res=truetrue. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~ "GWRITE"; a !~[i]"Multiline";}}. return res=truefalse. res={_{ a=read("/tests/testread",textfile:"/includes/extenso.sn"); a =~[xi]" # Match the keywork Multiline Multiline";}}. return res=true.
AUTHOR
Written by Pierre Laplante and Caroline Laplante, <laplante@sednove.com>