기본 문법 정리
Tcl 주의
Tcl 에서 공백 하나로도 에러가 난다.
if {1 != 1}{ // ---> }{ 사이에 공백이 없어서 에러
puts "aaa"
} else {
puts "bbb"
}
# ------------------------
# 아래는 잘돌아간다.
if {1 != 1} {
puts "aaa"
} else {
puts "bbb"
}담당 선임에 의하면 티클은 디버깅이 안된다고 한다.. ㅜ.ㅜ
코드 같은 라인에 주석이 있으면 실행이 안되니 삭제 후 실행하기
변수에 값 할당하기
변수 사용 = $ 기호
set = 변수 할당
unset = 제거
puts = 프린트
\ = escape 기호
\t = 탭, \n = 개행
{}, [], "” 사용 차이
수학 명령어
expr
if / switch / while / for/ foreach 문
프로시저 (= 메소드)
proc
upvar = 프로시저내 변수?
변수 scope - global and upvar
global: 전역에서 사용되는 변수를 가져오고 싶을때 global 사용
아래 Array 섹션 참고
upvar: 로컬 변수 지정
List
리스트 빌트인 명령어들
lindex, linsert, concat, lappend, lreplace, lsearch, lsort, lrange 등
“ ” 나 { } 안에 값을 뛰어서 쓰면 리스트가 된다.
"[lindex $item 1]: [lindex $item 0]" 나 “” 없이 [lindex $item 1]: [lindex $item 0] 나 똑같은 결과 나옴
Associative Array
Dictionary (Array 대용)
String 빌트인 명령어
length, index, range, compare, match, first, last, tolower, toupper, trim, format 등
정규표현식
File I/O
Info
namespace, package
이 개념들은 라이브러리를 import 해올때 사용하는 것 같아, 프로젝트를 진행하면서 알아갈 수 있을것 같다.
궁금하다
티클은 동시성 병렬 프로그래밍이 가능한가?
과제 - 소켓 프로그래밍
요구사항
2초에 한번씩 클라이언트에게 ping 보내기
클라이언트가 요청한 서비스 보내주기
서비스 종료: quit, menu, stime, ltime, num_c, num_r, echo <string>
Last updated