Mercurial > hg > jgplsrc
view test/g1x30.ijs @ 0:e0bbaa717f41 draft default tip
lol J
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Mon, 25 Nov 2013 11:56:30 -0500 |
parents | |
children |
line wrap: on
line source
NB. 1!:30 --------------------------------------------------------------- pc=: (9!:12 '') e. 0 1 2 6 7 NB. works on DOS or Windows only 3 : 0 '' if. pc do. write =: 1!:2 open =: 1!:21 close =: 1!:22 locks =: 1!:30 lock =: 1!:31 unlock =: 1!:32 f =: <'foo.x' (128$'a') write f h =: open f k =: locks '' assert. lock h,0 8 assert. lock h,8 16 assert. 0 -: lock h,0 16 assert. ((h,0 8),:h,8 16)e.locks '' assert. unlock h,0 8 assert. unlock h,8 16 assert. k -: locks '' assert. lock h,0 8 assert. lock h,8 16 assert. lock h,64 1 close h assert. k -: locks '' assert. 'domain error' -: lock etx 'a' assert. 'domain error' -: lock etx 'abc' assert. 'domain error' -: lock etx 3.45 assert. 'domain error' -: lock etx 3j4 assert. 'domain error' -: lock etx 0;1;0 assert. 'domain error' -: lock etx 4;5;6 assert. 'file number error' -: lock etx 0 0 1 assert. 'file number error' -: lock etx 1 4 5 assert. 'file number error' -: lock etx 2 4 5 assert. 'file number error' -: lock etx 12345 12346,"0 1 [ 4 5 assert. 'domain error' -: unlock etx 'abc' assert. 'domain error' -: unlock etx 3.45 5 assert. 'domain error' -: unlock etx 3j4 assert. 'domain error' -: unlock etx 0;1;0 assert. 'domain error' -: unlock etx 4;5;6 assert. 'domain error' -: unlock etx 0 0 1 assert. 'index error' -: unlock etx 3 assert. 'index error' -: unlock etx 4 assert. 'index error' -: unlock etx 1234 5 assert. 'index error' -: unlock etx i.2 4 assert. 'index error' -: unlock etx 1 4 5 assert. 'index error' -: unlock etx 2 4 5 assert. 'index error' -: unlock etx 12345 12346,"0 1 [ 4 5 end. 1 ) 4!:55 ;:'close f h k lock locks open pc unlock write '