"puts"에 대한 대체 명령을 찾고있었습니다. 거기에 tcl에 대한 대체 명령이 있습니까? 어떤 것이 있으면 알려주세요거기에 TCL에 넣을 대체 명령
0
A
답변
1
아니요, puts
및 (이후 8.5 이후) chan puts
이지만 과 동일한 구현 코드가 사용됩니다. 그러나 원하는대로 쉽게 쓸 수있는 자신 만의 명령을 만들 수 있습니다. 예를 들어, 다음, 채널 이름과 데이터를 가진 주장 간단한 작가, 바이너리 모드에서 작동하도록 채널을 구성의 줄 바꿈없이 데이터를 기록하고 채널 플러시 :
proc writeBinary {channelName data} {
fconfigure $channel -translation binary
puts -nonewline $channelName $data
flush $channelName
}
을 그리고 여기 뭔가 그 매우 많은처럼 작동 C의 printf()
:
proc printf {pattern args} {
puts [format $pattern {*}$args]
}
(I는 로깅 수준을 지정할 수 있으며, 메시지에 대한 세부 사항을 작성하고, 메시지를받을 수 있도록 내가 로깅에 적응이의 더 정교한 버전을 사용 사용 가능한 경우 적절한 로그 대상에 기록됩니다. 자바의 log4j를 연상시키는 애너. 하지만 아마도 그 정도의 허구가 필요하지 않을 것입니다.)
일을 더 쉽게하기 위해 절차를 작성하는 데있어 아무 문제가 없습니다. Tcl은 다른 모든 것을 구축하기에 충분하다고 밝혀 짐에 따라 puts
을 제공합니다.
1
아니요, Tcl에는 실제 출력을위한 여러 명령이 없습니다. 그 대신 다른 인수 조합과 다른 명령과의 협력을 통해 다양한 방식으로 결과물을 산출합니다. 예를 들어, puts
은 플래그를 제공하여 출력을 stdout
( 채널 인수 제공) 또는 줄 바꿈으로 끝내지 않고 출력하도록 수정할 수 있습니다. 마찬가지로 format
의 출력 puts
을 적용하여 제조 할 수있다 (C의 printf
이처럼) 포맷 출력 출력 그래서
# ... insert necessary initialization here ...
puts [::msgcat::mc "My string is %s" foo]
# => Min sträng är foo
: 다국어 할 수
puts [format "My string is %s" foo]
# => My string is foo
(변형 예에서는 보통하다. 당신이 특별히 찾고있는 것이 있습니까?
관련 문제
- 1. 잘못된 명령 이름은 TCL에
- 2. tcl에 포함됨 8.5.9
- 3. 모든 명령이 거기에 우리가 명령
- 4. 거기에 json.parser에 대한 대체 메서드가 있습니다
- 5. TCL에 요소 삽입
- 6. tcl에 배열 요소를 추가했습니다.
- 7. matplotlib 빌드시 tcl에 연결
- 8. Tcl에 패키지를 설치하는 방법?
- 9. 루비에서 명령 대체
- 10. SSRS에서 OVER 대체 명령
- 11. 셸 명령 대체 방지
- 12. sync() 명령 대체
- 13. Zsh 명령 대체
- 14. Awk 대체 명령 문제
- 15. Makefile 명령 대체 문제
- 16. L-Systems : 대체 명령
- 17. CtrlP 및 대체 명령
- 18. 거기에 PHP를 넣을 수있는 방법이 있나요 조건부 코멘트
- 19. tcl에 기존 배열을 만들고 추가하기
- 20. TCL에 TAB을 입력하여 자동 완성
- 21. 는 OR 및 명령 대체
- 22. 리눅스는 조건 패턴을 대체 명령
- 23. 명령 대체 및 $ PATH 변수
- 24. 배쉬 n 번째 명령 대체?
- 25. 원격 sed 명령으로 대체 명령
- 26. 우분투에서 chkconfig에 대한 대체 명령
- 27. 명령 bash 쉘에서 대체, 명령 자체에 따옴표가있는 경우
- 28. Tcl에 따라 C++ SWIG 생성 코드에 따라
- 29. Tcl에 해당 버전에 대해 어떻게 쿼리합니까?
- 30. segfault는 tcl에 대해 SWIG 변환 코드를 사용합니다.
'puts'가 할 수있는 대체 명령이 무엇을 기대할 수 있습니까? 즉, 어떤 문제를 해결하려고합니까? –
아니오. puts를 재정의 한 경우 다른 이름을 선택하십시오. 네임 스페이스에 있다면':: puts'를 사용하여 전역 명령을 명시 적으로 지정할 수 있습니다. – patthoyts