RosettaCodeData/Task/Take-notes-on-the-command-line/APL/take-notes-on-the-command-line.apl
2023-07-01 13:44:08 -04:00

37 lines
1.4 KiB
APL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/local/bin/apl -s --
rch Join ls ⍝ Join list of strings with character
r1ch,¨ls
dDate ⍝ Get system date as formatted string
d'/'Join ¨13⎕TS
tTime;t24 ⍝ Get system time as formatted string
tt2433⎕TS ⍝ Get system time
t[1]t[1]-12×t24[1]12 ⍝ If PM (hour≥12), subtract 12 from hour
t[1]t[1]+12×t[1]=0 ⍝ Hour 0 is hour 12 (AM)
t¯2¨'0',¨¨t ⍝ Convert numbers to 2-digit strings
t(':'Join t),(1+t24[1]12)' AM' ' PM' ⍝ Add AM/PM and ':' separator
Read;f
(¯2f⎕FIO[49]'notes.txt')/0 ⍝ Read file, stop if not found
f ⍝ Output file line by line
Write note;f;_
note' 'Join note ⍝ flatten input and separate with spaces
noteDate,' ',Time,(⎕UCS 10 9),note,⎕UCS 10 ⍝ note format
f'a'⎕FIO[3]'notes.txt' ⍝ append to file
_(⎕UCS note)⎕FIO[7]f ⍝ write note to end of file
_⎕FIO[4]f ⍝ close the file
Notes;note
('Read' 'Write note')[1+0note4⎕ARG]
Notes
)OFF