2010-07-30 12 views
7

में डाल ब्लॉक टिप्पणियाँ मैं यहाँ कोडकैसे 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 
    } 
} 

मैं चाहता हूँ एक भी टिप्पणी में पूरी प्रक्रिया में कहें, मैं करते हैं, # साथ प्रत्येक पंक्ति डाल नहीं करना चाहता वहाँ जावा में की तरह किसी भी संभावना है/* .. */सभी कोड के साथ टिप्पणी की, जैसे कि टीसीएल में। और मैं यह भी चाहता हूं कि कुछ पाठ एक टिप्पणी रखे जाएंगे

+0

अपने कोड में त्रुटियों के एक जोड़े को है संख्यात्मक समानता के लिए; 'अगर {{$ कोई% $ i} eq 0}' होना चाहिए {{$ $% i) == 0} ' –

+0

यह जांचने के लिए एक और कार्यान्वयन है कि कोई संख्या प्राइम है rosettacode.org पर: http://rosettacode.org/wiki/Primality_by_trial_division#Tcl –

उत्तर

17

if {0} .. के अलावा जो idiomatic (और एक जो कि अधिकांश टीसीएल प्रोग्रामर पहचानते हैं) के अलावा आप किसी भी अन्य निर्माण का उपयोग कर सकते हैं और उन चीज़ों को सामान दे सकते हैं जिन्हें आप ब्रेस कोट्स में टिप्पणी करना चाहते हैं। निष्पादन को रोकने में वास्तविक तंत्र यह है कि ब्रेस उद्धरण के अंदर की चीजें प्रतिस्थापित नहीं होती हैं।

यहां मेरे कुछ पसंदीदा हैं। मैं उन्हें पसंद करते हैं क्योंकि वे स्वयं कुछ दस्तावेज़ीकृत हैं:

set COMMENTED_OUT { 

    commented out stuff 

} 

और

proc COMMENTED_OUT {} { 

    commented out stuff... 

} 

मैं proc को पसंद करते हैं क्योंकि पाठ पर टिप्पणी के ब्लॉक वास्तव में कोड का एक खंड है करते हैं। स्ट्रिंग समानता के लिए `eq` उपयोग करते हैं,` ==:

ध्यान दें कि tcl proc निकायों संकलन नहीं है जब तक पहले निष्पादन तो एक proc का उपयोग कर बाहर टिप्पणी के रूप में सस्ते set के रूप में और if {0} ...

+6

बेशक, यह काम नहीं करेगा यदि आप जिस चीज पर टिप्पणी कर रहे हैं वह छोटी है और असंतुलित ब्रेसिज़ है। –

11

यह प्रश्न अस्पष्ट है। क्या आप कोड के ब्लॉक को टिप्पणी करने का मतलब रखते हैं? उपसर्ग साथ

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

# उपयोग कुछ के साथ हर पंक्ति तो हमें तुम क्या मतलब है पर एक उदाहरण दिखाने का यह सवाल नहीं अलग तरीके से व्यक्त करें: वैसे वहाँ दो तरीके हैं।

+2

स्पष्ट होने के लिए, टीसीएल उस स्थिति में * सभी * को पार्स नहीं करता है जहां यह काम करता है कि इसे कभी निष्पादित नहीं किया जा सकता है (घुंघराले ब्रेस संतुलन की जांच के अलावा)। –

+3

यह उल्लेख किया जाना चाहिए कि 'अगर 0' चाल काम नहीं करेगी यदि कोड को अवरुद्ध करने की रेखाएं असंतुलित ब्रेसिज़ हैं। –

संबंधित मुद्दे