5
라켓과 함께 bash 명령을 (system "some command")
과 함께 실행할 수는 있지만 명령 행에서 출력되는 결과 대신 #t가 반환됩니다.이 명령은 인쇄 만합니다. 함수의 결과를 반환하려면 어떻게해야합니까?라켓에서 명령 줄 결과를 반환하는 방법은 무엇입니까?
라켓과 함께 bash 명령을 (system "some command")
과 함께 실행할 수는 있지만 명령 행에서 출력되는 결과 대신 #t가 반환됩니다.이 명령은 인쇄 만합니다. 함수의 결과를 반환하려면 어떻게해야합니까?라켓에서 명령 줄 결과를 반환하는 방법은 무엇입니까?
system
절차는 stdout
을 매개 변수 current-output-port
의 값으로 설정합니다. 즉, current-output-port
에 쓰여진 모든 것을 문자열로 수집하여 반환 할 수 있습니다. 구성 with-output-to-string
은 아무 것도 인쇄하지 않는 포트에 current-output-port
을 설정하지만 포트에 쓰여지는 문자열은 결국 문자열로 반환합니다.
> (with-output-to-string (lambda() (system "date")))
"Sat Jun 25 12:20:12 CEST 2016\n"