0
我有一個tcl代碼,它爲某些參數生成一些值。現在我想存儲這些值並將它們用於相同的程序但使用不同的參數。可以這樣做嗎?,使用同一程序的生成值?
我有一個tcl代碼,它爲某些參數生成一些值。現在我想存儲這些值並將它們用於相同的程序但使用不同的參數。可以這樣做嗎?,使用同一程序的生成值?
要在整個程序的一次運行中存儲以後的值,請將其置於變量中。
set theVariable "the value is foo bar"
要存儲在程序的另一個運行後一個值,你可能需要將其寫入文件。最簡單的方法是這樣的:
# To store:
set f [open theSettingsFile.dat w]
puts $f $theVariable
close $f
# To load:
set f [open theSettingsFile.dat]
set theVariable [gets $f]
close $f
Tcl的是TCL,你也可以將它保存爲一個腳本,您可以source
:
# To store:
set f [open theSettingsFile.tcl]
puts $f [list set theVariable $theVariable]
close $f
# To load:
source theSettingsFile.tcl
對於複雜事情,使用像SQLite這樣的數據庫可能是一個好主意:
# To store:
package require sqlite3
sqlite3 db theSettings.db
db eval {CREATE TABLE IF NOT EXISTS settings (key TEXT, value TEXT)}
# Note; the below is SQL-injection safe
db eval {INSERT INTO settings (key, value) VALUES ('theVariable',$theVariable)}
db close
# To load:
package require sqlite3
sqlite3 db theSettings.db
db eval {SELECT value FROM settings WHERE key = 'theVariable'} {
set theVariable $value
}
db close
但是,這是保存一個簡單的字符串大規模矯枉過正。
你的問題不是很清楚。你能詳細說明一下嗎? – Jerry
我想要使用第一次生成的變量的值。第二次運行 – Pac
您也許可以將值寫入文件,然後讀取文件以在第二次運行中獲取它們? – Jerry