Truncate a file: Difference between revisions

→‎{{header|Lasso}}: Added Lasso contribution
(Added Erlang)
(→‎{{header|Lasso}}: Added Lasso contribution)
Line 352:
}
}</lang>
 
 
=={{header|Lasso}}==
<lang Lasso>define file_truncate(path::string, size::integer) => {
 
local(file = file(#path))
 
fail_if(not(#file -> exists), -1, 'There is no file at the given path')
fail_if(#file -> size < #size, -1, 'No point in truncating a file to a larger size than it already is')
 
#file -> setSize(#size)
 
}
local(filepath = '//Library/WebServer/Documents/Lasso9cli/trunk/testing/lorem_ipsum_long.txt')
 
stdoutnl(file(#filepath) -> readbytes)
stdoutnl('Original size: ' + file(#filepath) -> size)
 
file_truncate(#filepath, 300)
 
stdoutnl(file(#filepath) -> readbytes)
stdout(file('Truncated size: ' + #filepath) -> size)</lang>
Output:
<pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris consequat
ornare lectus, dignissim iaculis libero consequat sed. Proin quis magna in
arcu sagittis consequat sed ac risus. Ut a pharetra dui. Phasellus molestie,
mauris eget scelerisque laoreet, diam dolor vulputate nulla, in porta sem sem
sit amet lacus. Aenean sed volutpat magna. Vestibulum lobortis mollis lectus,
eu semper quam congue at. Donec ac ligula a neque tincidunt elementum. Nam
urna felis, interdum non ullamcorper eget, commodo viverra ligula. Fusce cursus
dolor in nisl tincidunt non sagittis libero elementum. Maecenas rhoncus ornare
gravida. Nullam luctus pulvinar lorem, laoreet aliquet massa malesuada eget.
Original size: 692
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris consequat
ornare lectus, dignissim iaculis libero consequat sed. Proin quis magna in
arcu sagittis consequat sed ac risus. Ut a pharetra dui. Phasellus molestie,
mauris eget scelerisque laoreet, diam dolor vulputate nulla, in porta sem
Truncated size: 300
</pre>
 
=={{header|Liberty BASIC}}==
Anonymous user