Correction; to feed it a var, simply catenate the file name like:
FILE←¯1↓‘)HOST cat ‘ , filename←’relative_or_absolute/path/to/blablabla.txt’
Keep in mind your current dir is the one you started GNU APL from, so it can
change. Using ~/… or an absolute path is probably safer.

Louis

> On 06 Mar 2016, at 01:35, Louis de Forcrand <ol...@bluewin.ch> wrote:
> 
> I am not very good with files and such, but from what I understand:
> 
>       ⎕←T←⊃¯1↓⍎')HOST date'
> Sun Mar  6 01:11:48 CET 2016
> 
>       ⍴T
> 2 28
> 
> So you can save the result of )HOST in a variable if you use
> ⍎. To feed it a var, I would try something like:
> 
>       ]BOXING 2
>       ⎕←FILE←⍎')HOST cat test.txt'
>  hello, world  This file was written in my $HOME directory.  0  
>       ⍴FILE
> 5
>       FILE
> .→-----------. .⊖. .→-------------------------------------------. .⊖. .→-.
> |hello, world| | | |This file was written in my $HOME directory.| | | |0 |
> '------------' '-' '--------------------------------------------' '-' '--'
>       
> Several things to note here. First of all, linefeeds / carriage returns / 
> whatever
> you want to call them in the file I read seemed to mark nested array ends, and
> it seems that those LFs were lost. I don’t know how GNU APL handles LF chars,
> so I would recommend you either keep the array boxed or disclose it like I did
> in the first example (∊ enlisting it simply catenated all the lines together, 
> as
> the LFs were represented by ⊂⍬, boxed empty vectors).
> 
> Second, if you’re reading this Jürgen, note that even though ]BOXING was set
> to 2, the result of ⎕←FILE is not boxed.
> 
> IMHO this is potentially the cleanest way to read a file. I have no idea how 
> to tie
> files and stuff like that.
> 
> Best of luck,
> Louis
> 
>> On 05 Mar 2016, at 03:54, alexwei...@alexweiner.com 
>> <mailto:alexwei...@alexweiner.com> wrote:
>> 
>> Hi Bug-apl,
>> 
>> Currently, at a point in my code I do something like this:
>> 
>> ⍝assume the variable 'yadda' exists and is correctly formed, as well as the 
>> read_file function
>> success←yadda ⎕fio[7] tie← 'wr'⎕FIO[3] "yadda.file"
>> )host ./shellscript.sh <http://shellscript.sh/> yadda.file yadda.file.new
>> yadda_new← read_file "yadda.file.new"
>> ⍝end of code
>> 
>> My question is: is there either 1. a way to feed )host a variable (I don't 
>> think that is possible) or 2. a better way to implement this task in its 
>> entirety. I find it a small nuisance that I have to write and then read a 
>> file in my code to access non-APL stuff for processing.
>> 
>> -Alex
> 

Reply via email to