기본 문법 정리

Execute Tcl Onlinearrow-up-right

Tcl Tutorialarrow-up-right

티클 책arrow-up-right

Tcl 주의

  • Tcl 에서 공백 하나로도 에러가 난다.

if {1 != 1}{ // ---> }{ 사이에 공백이 없어서 에러
    puts "aaa"
} else {
    puts "bbb"
}
# ------------------------
# 아래는 잘돌아간다.
if {1 != 1} {
    puts "aaa"
} else {
    puts "bbb"
}
  • 담당 선임에 의하면 티클은 디버깅이 안된다고 한다.. ㅜ.ㅜ

  • 코드 같은 라인에 주석이 있으면 실행이 안되니 삭제 후 실행하기

변수에 값 할당하기

  • 변수 사용 = $ 기호

  • set = 변수 할당

  • unset = 제거

  • puts = 프린트

  • \ = escape 기호

  • \t = 탭, \n = 개행


{}, [], "” 사용 차이


수학 명령어


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