我是新來的tcl,并且想了解return陳述句在語言中的作業方式。以下面的代碼為例:
proc add name {
set name [expr $name 2]
}
set y 5
puts [add $y]
我驚訝地發現這實際上將值列印7到我的終端。return因為我沒有在我的程式中包含宣告,所以我不希望列印任何內容。
當我確實包含一個 return 陳述句時,它似乎覆寫了這個奇怪的默認行為:
proc add name {
set name [expr $name 2]
return hello
}
set y 5
puts [add $y]
以上確實會回傳你好。但它與7?
為什么7即使我沒有 return 陳述句,程式仍然回傳 a?為什么當我提供回傳陳述句時它會覆寫此行為?
uj5u.com熱心網友回復:
如果您沒有顯式return指定值,則將回傳 proc 中執行的最后一條陳述句的值。這在描述部分末尾的https://www.tcl-lang.org/man/tcl8.6/TclCmd/proc.html中有記錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434870.html
