0
是否有可能將一個函數生成的日誌獲取到變量中,而無需從TCL中的該函數返回該值,就像以前在BASH中使用"$"
那樣。在TCL中獲取控制檯變量的日誌
function f1 {
echo "ABC"
return 0
}
調用程序,
var=$(f1) ;# gives output ABC
我知道如何解決這個問題,
proc f1 {} {
return "ABC | 0"
}
在調用的時候,我需要同時抽取價值一樣,
set console_msg [lindex [split [f1] "|"] 0]
set retval [lindex [split [f1] "|"] 1]
有沒有prope在TCL中做到這一點?
感謝,
讓我正確地改寫它。 '$'在bash中做了些什麼。在TCL中可以拿到ABC價值而不退縮? –
然後,沒有。如果你想從一個proc返回2個東西,返回一個2個元素的列表。 'proc f1 {} {set x「message」;設置42;返回[列表$ x $ y]}'然後'lassign [f1] msg retval' –
得到了另一種方式如何使用'lassign'返回多個值,以及我正在使用'split'做什麼。但TCL中仍然沒有BASH'$'替換。因爲我們沒有在BASH中返回ABC,但仍然可以使用'$'.. PS:我沒有比較兩種語言。但這就是我的需求 –