Changeset 2004
- Timestamp:
- 11/25/07 21:12:43 (6 years ago)
- Location:
- lang/ruby/chokan/trunk/plugins
- Files:
-
- 2 modified
-
eval.rb (modified) (2 diffs)
-
js_eval.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/chokan/trunk/plugins/eval.rb
r1789 r2004 8 8 def initialize(config, chokan) 9 9 super 10 @prefix = @config["prefix"] || " ruby"10 @prefix = @config["prefix"] || "?rb " 11 11 end 12 12 13 13 def on_privmsg(prefix, channel, message) 14 14 case message 15 when /^#{ @prefix}(.+)$/i15 when /^#{Regexp.quote(@prefix)}(.+)$/i 16 16 code = Regexp.last_match[1].taint 17 17 ret = "" … … 26 26 end 27 27 end 28 29 Lambda = Proc 30 class Lambda 31 def curry 32 s = <<-EOS.gsub(/^\t{3}/, "") 33 lambda {|al| 34 args = [#{(1...self.arity).inject(""){|r,i|r<<"a#{i}, "}}al] 35 self[*args] 36 } 37 EOS 38 instance_eval (1...self.arity).inject(s) {|r,i| 39 <<-EOS.gsub(/^\t{4}/, "") 40 lambda {|a#{self.arity-1-i+1}| 41 #{r} 42 } 43 EOS 44 } 45 end 46 47 def curry1 48 s = self 49 lambda {|x| 50 lambda {|*args| 51 s[*([x]+args)] 52 } 53 } 54 end 55 end 56 57 S = lambda {|x, y, z| x[z][y[z]] }.curry 58 K = lambda {|x, y| x }.curry 59 I = lambda {|x| x } # S[K][K] 60 61 -
lang/ruby/chokan/trunk/plugins/js_eval.rb
r283 r2004 13 13 def on_privmsg(prefix, channel, message) 14 14 case message 15 when /^ js (.+)$/i15 when /^\?js (.+)$/i 16 16 code = Regexp.last_match[1].taint 17 17 js_eval(code, channel)
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)