2010-07-30 21 views
7

tôi có mã ở đâyLàm thế nào đưa Khối Comments trong TCL

proc checkPrime {no} { 
    set i 1 
    set count 0 
    while {$i < $no} { 
     if {{$no%$i} eq 0} { 
      incr count 
     } 
     if {$count eq 2} { 
      puts "the number is prime number" 
      return 
     } 
     incr i 
    } 
} 

tôi muốn đặt toàn bộ thủ tục thành một bình luận duy nhất, tôi không muốn đưa từng dòng với #, là có bất kỳ khả năng giống như trong java/* .. */với tất cả các mã nhận xét, như thế trong tcl. và tôi cũng muốn một số văn bản sẽ được đặt một nhận xét duy nhất

+0

Một vài lỗi trong mã của bạn: sử dụng 'eq' cho bình đẳng chuỗi,' == 'cho bình đẳng số; 'if {{$ no% $ i} eq 0}' nên là 'if {($ no% $ i) == 0}' –

+0

Thực hiện khác để kiểm tra nếu một số là số nguyên tố là rosettacode.org: http://rosettacode.org/wiki/Primality_by_trial_division#Tcl –

Trả lời

17

Ngoài số if {0} .. là thành ngữ (và một trong đó hầu hết người lập trình tcl nhận ra), bạn cũng có thể sử dụng bất kỳ cấu trúc và công cụ nào khác mà bạn muốn nhận xét trong ngoặc kép. Cơ chế thực sự ngăn chặn thực hiện ở đây là những thứ bên trong dấu ngoặc kép không được thay thế.

Dưới đây là một số mục yêu thích của tôi. Tôi thích họ, vì họ là tự tài liệu:

set COMMENTED_OUT { 

    commented out stuff 

} 

proc COMMENTED_OUT {} { 

    commented out stuff... 

} 

Tôi có xu hướng thích các proc vì khối nhận xét ra văn bản thực sự là một khối mã.

Lưu ý rằng tcl không biên dịch các cơ quan proc cho đến khi thực hiện đầu tiên để cho ý kiến ​​bằng cách sử dụng một proc rẻ như setif {0} ...

+6

tất nhiên, điều này sẽ không hoạt động nếu những gì bạn đang nhận xét ra là lỗi và có niềng răng không cân bằng. –

11

Câu hỏi này không rõ ràng. Bạn có muốn nhận xét một khối mã không? Vâng có hai cách: tiền tố mỗi dòng với # sử dụng cái gì đó dọc

if { 0 } { 
    a section 
    of 
    "commented" code 
} 

Nếu không được xin vui lòng rephrase câu hỏi này cho chúng ta thấy một ví dụ về những gì bạn có ý nghĩa.

+2

Để rõ ràng, Tcl không phân tích cú pháp cơ thể * ở tất cả * trong trường hợp nó hoạt động mà không bao giờ có thể được thực thi (ngoài việc kiểm tra cân bằng ngoặc nhọn). –

+3

nó cần phải được đề cập rằng lừa 'nếu 0' sẽ không hoạt động nếu các dòng mã được chặn ra có niềng răng không cân bằng. –

Các vấn đề liên quan