Re: [Ironruby-core] Code Review: SymToProc

2010-03-05 Thread Tomas Matousek
Yes, something like this might be quite accurate: class Symbol def to_proc Proc.new do |*args| raise ArgumentError if args.size == 0 target = args.delete_at(0) target.send(self, *args) end end end instance_exec on the other hand is also 1.8.7 method and

Re: [Ironruby-core] Code Review: SymToProc

2010-03-05 Thread Jim Deville
Probably no eval magic, unless you are thinking of a more advanced version of Sym#to_proc than I have been using. I define it with: Class Symbol Def to_proc Lambda {|x| x.send(self)} End End Sure, it doesn't cover everything, but it hits the 90% cases. -Original Message- From: Tomas M

Re: [Ironruby-core] Code Review: SymToProc

2010-03-05 Thread Tomas Matousek
Yep, we already have other methods from 1.8.7, like instance_exec. The advantage of having these in 1.8.6 is that it will work in apps that check if to_proc method is present. I guess they might do some eval magic if the method is not implemented which slows things down. Tomas -Original Me

Re: [Ironruby-core] Code Review: SymToProc

2010-03-05 Thread Jim Deville
So we're going to have sym#to_proc available in the core 1.8 implementation? Other than that question, this looks good. Now I have to go remove some hacks ;) JD -Original Message- From: Tomas Matousek Sent: Friday, March 05, 2010 8:22 PM To: IronRuby External Code Reviewers Cc: ironrub