Actions
File api SCOL¶
http://www.scolring.org/files/doc_html/file_system.html
Files must be relative at the active Scol partition.
There is not the close file function, Scol manage any I/O.
Files are loaded in Scol memory.
To open a file :
Read only :
_checkpack = fun [S] P
Write only :
_getmodifypack = fun [S] W
To read a file :
_getpack = fun [P] S
fun main ()= _showconsole; let _checkpack "myFolder/myFile.ext" -> pFile in if pFile == nil then _fooS "This file doesn't exist" else _fooS _getpack pFile; 0;;
To get the content line by line :
fun displayLines (list)= if list == empty then 0 else let hd list -> line in ( _fooS line; displayLines tl list );; fun main ()= _showconsole; let _checkpack "myFolder/myFile.ext" -> pFile in if pFile == nil then ( _fooS "This file doesn't exist"; 1 ) else displayLines lineextr _getpack pFile;;
If you want the content word by word, you can do something similar with strextr instead of lineextr.
To get the size :
_fileSize = fun [P] I
fun main ()= _showconsole; let _checkpack "myFolder/myFile.ext" -> pFile in _fooId if pFile == nil then nil else _fileSize pFile; 0;;
To write in a file :
_createpack = fun [S W] I
_appendpack = fun [S W] I
_storepack = fun [S S] I
fun main ()= _showconsole; let _getmodifypack "anyFolder/anyFile.ext" -> wFile in if 0 == _createpack "Bob and Alice " wFile then if 0 == _appendpack "are married !" wFile then _fooS "Done !" else _fooS "_appendpack : error" else _fooS "_createpack : error"; 0;;
Author : iri
Date : december 2011
Return to Examples
Updated by iri about 13 years ago ยท 3 revisions