如何從proc返回到更高的上下文?
例如:如果proc X調用另一個稱爲第三個proc Z的進程Y,是否有一種方法可以從Z直接返回到X?TCL:返回更高一級?
3
A
回答
9
從8.5開始,是的。該return
命令有一個-level
選項其用於做到這一點:
return -level 2 $someValue
因此,例如:
proc X {} {
puts "X - in"
Y
puts "X - out"
}
proc Y {} {
puts "Y - in"
Z
puts "Y - out"
}
proc Z {} {
puts "Z - in"
return -level 2 "some value"
puts "Z - out"
}
X
產生以下輸出:
X - in
Y - in
Z - in
X - out
注意,這樣做減少了Z
的可重用性,但這是你的業務。
0
相關問題
- 1. 返回最高級別因子
- 2. Azure標準爲高級版,並返回
- 3. 如何在ReST中返回更高的嵌套級別?
- 4. 在python中返回低級函數的高級函數?
- 5. TCL過程中返回和返回1之間的區別
- 6. TCL proc返回值的約定
- 7. TCL - 返回變量與upvar並修改
- 8. 爲什麼tcl的「if」返回值?
- 9. Tcl lappend返回意外的結果
- 10. 擁有更高效的代碼返回
- 11. 更高或更低級別?
- 12. 通過更高一級的結構
- 13. 一些更高級的遞歸
- 14. 從C++函數返回一個char數組到tcl
- 15. 是否有可能創建一個Tcl返回值的GUI?
- 16. 高級NSOperations,GroupOperation的回調
- 17. 提高返回CommandEventArgs
- 18. PHP擴展一級文件夾返回
- 19. Sum函數只返回一個層級
- 20. 班級返回一箇舊位置
- 21. 函數返回一個char(初級)
- 22. UITableViewCell設置更高時返回44px高度
- 23. JS更改高度並返回到原始CSS高度
- 24. MySQL高級更新查詢
- 25. 在「高級更新\安裝」
- 26. 瞭解更多高級JavaScript
- 27. 高級LINQ更新語句
- 28. 高級SQL更新問題
- 29. 高級自定義字段保持返回相同的值
- 30. 行級返回類型警告的表視圖高度
我一直使用'uplevel 1 [list return $ some_value]'來做到這一點,即使在老版本的tcl上也能正常工作。 – slebetman 2010-08-17 22:21:54
@slebetman:你有沒有用上面這個簡單的線束檢查過?因爲當我這樣做時,它也會打印出「Y-out」,表明它沒有做你希望的事情...... – 2010-08-18 08:02:26