It is always a good idea to put the arguments of [expr] in braces. That way they are byte-compiled.
Gerry On Dec 4, 2017 6:33 AM, "Cecil Westerhof" <[email protected]> wrote: > 2017-11-19 23:00 GMT+01:00 jungle boogie <[email protected]>: > > > Thus said Cecil Westerhof on Sat, 18 Nov 2017 14:43:23 +0100 > > > >> I found the benefits for TCL/TK. But this is a SQLite mailing list, so > not > >> the right place to ask questions if it is not connected to SQLite also. > >> What would be good resources for TCL/TK? > >> > >> > > There's also a pretty active IRC room on freenode, it's #tcl. > > > > Let us know how your experiences go with tcl. > > > I like it very much. It is a bit get used to, but I will manage I think. > ;-) > > One think I like that global variables are not default exposed in > procedures. > > I wrote something to help me choose which (of my about 30) teas I am going > to brew. ;-) > > > I also wrote a program to store systems statistics in a SQLite database: > #!/usr/bin/env tclsh > > ### Improvements > # Get database from conf-file > > > package require sqlite3 > > > proc getCPUTemp {} { > if {1 != [regexp -all -line {^CPU_TEMP: +\+([0-9.]+)°C } [exec > sensors] -> temp]} { > error {Did not get exactly a single temperature line from [exec > sensors] output} > } > return ${temp} > } > > proc storeCPUTemp {} { > storeMessage cpu-temp [getCPUTemp] > } > > proc storeMessage {type message} { > db eval " > INSERT INTO messages > (type, message) > VALUES > (:type, :message) > " > } > > proc storeSwap {} { > storeMessage swap-usage [exec swapon --noheadings --show] > } > > if {$argc != 1} { > error "Error: ${argv0} DATABASE" > } > sqlite db [lindex $argv 0] > while {true} { > after [expr 1000 * (60 - [clock format [clock seconds] -format > %S])] > set currentSeconds [clock seconds] > db transaction { > storeCPUTemp > # At the whole hour we save swap usage > if {[clock format ${currentSeconds} -format %M] == "00"} { > storeSwap > } > } > } > # Not really necessary because the above loop never ends > # But I find this more clear and is robuster against change > db close > > I am open for improvements. > > -- > Cecil Westerhof > _______________________________________________ > sqlite-users mailing list > [email protected] > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

