Mercurial > hg > egg-tcls
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 |
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 | 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 | 4 # (C) Copyright 2008-2011 Tecnic Software productions (TNSP) |
0 | 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 | 8 # This script is freely distributable under GNU GPL (version 2) license. |
9 # | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
10 ########################################################################## |
0 | 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 | 17 |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
18 ########################################################################## |
0 | 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 | 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 | 29 |
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 | 35 } |
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 | 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 | 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 | 46 return $errmsg |
0 | 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 | 49 } |
50 } | |
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 | 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 | 58 return 1 |
0 | 59 } |
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 | 63 return 1 |
64 } | |
65 | |
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 | 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 | 72 return 1 |
0 | 73 } |
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 | 77 return 1 |
78 } | |
79 | |
80 # ------------------------------------------------------------------------- |