所以,我使用了類似名稱的線程來使用list命令來實現此功能。這是我的工作代碼:使用變量作爲TCL過程的默認值的更直觀的方法
proc E364xA::Connect [list [list VisaAlias ${E364xA::DefaultAlias}]] {
::VISA::Connect $VisaAlias
}
現在,這是通過使用存儲在命名空間eval裏DefaultAlias值工作目前。我在想,如果有這樣像一個更直觀的方式:
proc E364xA::Connect {{VisaAlias ${E364xA::DefaultAlias}}} {
::VISA::Connect $VisaAlias
}
這樣你就不會有兩個list命令得過且過水域。有任何想法嗎?
感謝您的幫助!
一些澄清了我的回答讓。你可以保留@ HaiVu的接受答案 - 我同意這是一個更清晰的做事方式 - 但如果你想要簡潔,那麼我可能會有所幫助。 –
您是否希望在過程是_created_時或過程是_called_時變量的內容?在Tcl中,這是一個非常重要的區別。 –
@ acheong87我接受了你的答案,因爲它更接近於回答我問的問題。我相信HaiVu可能是解決整體問題的最好方法,但它會在它被調用時評估變量。我需要在創建時設置該值,因爲它指的是硬編碼到特定系列設備中的值。我也希望該行在視覺上與{{VisaAlias「E364xA」}}相似,我的良心不會讓我對價值進行硬編碼。 – Chrono