annotate calc.tcl @ 80:3eb07f55bf86

calc: Rename a variable (finnish vs. english)
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 11 Sep 2011 18:37:10 +0300
parents fccfbcbb06e4
children 593874678e45
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
1 ##########################################################################
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 #
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
3 # Calc v0.4 by ccr/TNSP <ccr@tnsp.org>
9
47c73165754b laske: Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
4 # (C) Copyright 2008-2011 Tecnic Software productions (TNSP)
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 #
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
6 # A simple calculator for Eggdrop.
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
7 #
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 # This script is freely distributable under GNU GPL (version 2) license.
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 #
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
10 ##########################################################################
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
12 # Error message for when no arguments given to the command
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
13 set calc_err_noargs "Laalis?"
72
fd300fe87f59 Renamed laske.tcl to calc.tcl
Matti Hamalainen <ccr@tnsp.org>
parents: 71
diff changeset
14
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
15 set calc_preferredmsg "PRIVMSG"
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
16
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
18 ##########################################################################
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19 # No need to look below this line
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
20 ##########################################################################
79
fccfbcbb06e4 calc: Old script name had been left in the startup message, fixed.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
21 set calc_message "Calc v0.4 by ccr/TNSP"
fccfbcbb06e4 calc: Old script name had been left in the startup message, fixed.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
22
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
23 #set calc_reps [split "\$|| ||^|**|pi|3.14159265|e|2.71828183" "|"]
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
24 set calc_reps [split "\$||\;||^|**|pi|3.141592653589793238|PI|3.141592653589793238|e|2.71828183" "|"]
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
26 putlog "$calc_message"
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
27 bind pub - !laske calc_pubmsg
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
28 bind msg - laske calc_msg
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
31 # ------------------------------------------------------------------------
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
32 proc calc_smsg {udest umsg} {
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
33 global calc_preferredmsg
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
34 putserv "$calc_preferredmsg $udest :$umsg"
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
37 # ------------------------------------------------------------------------
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
38 proc calc_do {args} {
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
39 global calc_reps
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
41 # This is something rather perverse
80
3eb07f55bf86 calc: Rename a variable (finnish vs. english)
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
42 set equ [join [join [string map $calc_reps $args] ""] ""]
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
44 # Use 'expr' to calculate the result, but catch any exceptions / errors
80
3eb07f55bf86 calc: Rename a variable (finnish vs. english)
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
45 if {[catch { set res [expr $equ] } errmsg]} {
9
47c73165754b laske: Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
46 return $errmsg
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47 } else {
80
3eb07f55bf86 calc: Rename a variable (finnish vs. english)
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
48 return "$equ = $res"
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
52 # ------------------------------------------------------------------------
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
53 proc calc_pubmsg {nick uhost hand chan args} {
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
54 global calc_err_noargs
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
55
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 if {$args == {} || $args == ""} {
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
57 calc_smsg $chan "$calc_err_noargs"
63
7b03971c6d28 Remove tabs and reindent.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
58 return 1
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
61 set result [calc_do $args]
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
62 calc_smsg $chan "$nick, $result"
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63 return 1
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 # -------------------------------------------------------------------------
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
67 proc calc_msg {nick uhost hand args} {
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
68 global calc_err_noargs
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
69
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 if {$args == {} || $args == ""} {
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
71 calc_smsg $nick "$calc_err_noargs"
63
7b03971c6d28 Remove tabs and reindent.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
72 return 1
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74
71
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
75 set result [calc_do $args]
50cbd24feadf laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
76 calc_smsg $nick "$result"
0
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 return 1
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 }
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
79
1c4e2814cd41 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80 # -------------------------------------------------------------------------