#으로 Linux 용 J로 스크립트를 작성합니다!J 스크립트의 입력 문자열이 응답하지 않습니다.
하지만 스크립트가 멈 춥니 다. Control-D 스크립트가 입력 된 값을 에코 한 후. 그러나 일반적인 ENTER는 새 줄에 커서를 놓습니다.
#!/path/jconsole
a =. 1!:1]3
echo a
exit ''
#으로 Linux 용 J로 스크립트를 작성합니다!J 스크립트의 입력 문자열이 응답하지 않습니다.
하지만 스크립트가 멈 춥니 다. Control-D 스크립트가 입력 된 값을 에코 한 후. 그러나 일반적인 ENTER는 새 줄에 커서를 놓습니다.
#!/path/jconsole
a =. 1!:1]3
echo a
exit ''
것은 "파일 끝"까지 (1!:1)&3
이 읽는 것입니다. 리눅스에서는 ctrl-D를 누르면 EOF 신호가 전송됩니다.
이 없습니다 당신이 찾고있는 무엇을, 난 거기에 다른 아무것도 없다하지만 "추악한 속임수"로
a=. shell 'read foo; echo -n $foo'
이 두려워 (1 :! 1) & 1 만 세션에서 작동 웬일인지 ...
j가 스크립트 모드에있는 동안 한 줄의 텍스트를 읽을 수는 없지만 다음 번에 j가 9!:27
으로 immex 문구를 설정하여 j가 즉시 실행 모드로 돌아갈 때 실행할 항목을 예약 할 수 있습니다 9!:29
으로 immex 비트를 1로 설정하십시오. 다음은 그 예입니다 :
#!/usr/bin/env j
NB. demo showing how to make a simple repl in j.
readln =: [: (1!:01) 1:
donext =: [: (9!:29) 1: [ 9!:27
main =: verb define
echo ''
echo 'main loop. type ''bye'' to exit.'
echo '--------------------------------'
while. (s:'`bye') ~: s:<input=:readln'' do.
echo ".input
end.
echo '--------------------------------'
echo 'loop complete. returning to j.'
NB. or put ( exit'') here to exit j.
)
donext 'main _'
나는 못생긴 트릭을 발견했습니다 :'a =. 쉘 '은 foo를 읽습니다; echo -n $ foo'' –