[#332653] Anything better than klass = eval("#{task_class}") — Paganoni <noway@...>

Hi, well subject is self explanatory...

10 messages 2009/04/01

[#332751] RubyScript2Exe — Charlie Openshaw <charlieopenshaw@...>

Hi,

14 messages 2009/04/02

[#332795] ri is suddenly empty — Fernando Perez <pedrolito@...>

Hi,

15 messages 2009/04/03

[#332861] Verify, a very basic testing tool. — Robert Dober <robert.dober@...>

Hi List

34 messages 2009/04/03
[#332871] Re: [Ann] Verify, a very basic testing tool. — Ryan Davis <ryand-ruby@...> 2009/04/03

[#332882] Re: [Ann] Verify, a very basic testing tool. — Robert Dober <robert.dober@...> 2009/04/03

On Fri, Apr 3, 2009 at 10:56 PM, Ryan Davis <ryand-ruby@zenspider.com> wrote:

[#332869] Loading classes in order — Elias Orozco <elioncho@...>

Hello guys,

17 messages 2009/04/03
[#332874] Re: Loading classes in order — Iñaki Baz Castillo <ibc@...> 2009/04/03

El Viernes 03 Abril 2009, Elias Orozco escribi坦:

[#332983] Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Iñaki Baz Castillo <ibc@...>

Hi, using TreeTop parser I had a grammar defined working in Ruby1.8 but it

12 messages 2009/04/04
[#333081] Re: Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Eric Hodel <drbrain@...7.net> 2009/04/06

[#333092] Re: Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Iñaki Baz Castillo <ibc@...> 2009/04/06

2009/4/6 Eric Hodel <drbrain@segment7.net>:

[#332984] How to get "irb1.8" using Ruby1.8 instead of Ruby1.9.1 ? — Iñaki Baz Castillo <ibc@...>

Hi, in Debian I've ruby1.8 (/usr/bin/ruby1.8) and irb1.8 installed as DEB

16 messages 2009/04/04

[#333051] Localmemcache-0.2.1: The beauty of memcached. For local data. Blazingly fast. — "Sven C. Koehler" <schween@...>

Hi,

9 messages 2009/04/05

[#333063] how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...>

i want to be able to create a mehtod that will filter results in an

13 messages 2009/04/06
[#333064] Re: how to dynamically create search term for array.find_all — Phlip <phlip2005@...> 2009/04/06

Adam Akhtar wrote:

[#333108] Re: how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...> 2009/04/06

Thanks for your advice.

[#333109] Re: how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...> 2009/04/06

ahh robert, sorry i missed your reply there, i was looking at

[#333206] regex select multiple words in the middle of a sentence — Raimon Fs <coder@...>

hello,

11 messages 2009/04/07

[#333231] How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — Wesley Chen <cjq.999@...>

Hi, Guys,

10 messages 2009/04/07
[#333246] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — "Sean O'Halpin" <sean.ohalpin@...> 2009/04/07

(Disclaimer: It's a while since I did anything with SQL Server)

[#333265] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — Wesley Chen <cjq.999@...> 2009/04/08

Hi, Sean,

[#333275] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — "Sean O'Halpin" <sean.ohalpin@...> 2009/04/08

On Wed, Apr 8, 2009 at 3:50 AM, Wesley Chen <cjq.999@gmail.com> wrote:

[#333273] Ruby 1.9 still cannot list all files on Vista or XP? — SpringFlowers AutumnMoon <summercoolness@...>

I just tried using Ruby 1.9 and it seemed that it still cannot list all

18 messages 2009/04/08

[#333291] How to find Operating system — Newb Newb <revathy.p@...>

Hi....

19 messages 2009/04/08
[#333299] Re: How to find Operating system — Mark S Bilk <mark@...> 2009/04/08

On Apr 8, 4:27m, Eleanor McHugh <elea...@games-with-brains.com>

[#333309] Re: How to find Operating system — Eleanor McHugh <eleanor@...> 2009/04/08

On 8 Apr 2009, at 13:30, Mark S Bilk wrote:

[#333311] performing an action only the first time a function called — James French <James.French@...> 2009/04/08

Hi,

[#333319] Ruby editor for linux — Juan Zanos <juan_zanos@...>

Does anyone have any suggestions for a Ruby editor on Linux? I

31 messages 2009/04/08

[#333368] Goodbye Ruby - Hello Earth — Christophe Mckeon <chromatophore@...>

Hello Fellow Humans,

170 messages 2009/04/08
[#333440] Re: Goodbye Ruby - Hello Earth — The Higgs bozo <higgs.bozo@...> 2009/04/09

Christophe Mckeon wrote:

[#333443] Re: Goodbye Ruby - Hello Earth — Phlip <phlip2005@...> 2009/04/09

The Higgs bozo wrote:

[#333455] Re: Goodbye Ruby - Hello Earth — Phlip <phlip2005@...> 2009/04/09

>> Am I the only one who, upon reading the subject line, thought that

[#333468] Re: Goodbye Ruby - Hello Earth — Christophe Mckeon <chromatophore@...> 2009/04/09

Hi guys,

[#333542] Re: Goodbye Ruby - Hello Earth — Jeff Schwab <jeff@...> 2009/04/10

Christophe Mckeon wrote:

[#333580] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/10

> Christophe Mckeon wrote:

[#333602] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/11

On Sat, Apr 11, 2009 at 02:22:09AM +0900, Eleanor McHugh wrote:

[#333615] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/11

On 11 Apr 2009, at 02:12, Chad Perrin wrote:

[#333626] Re: Goodbye Ruby - Hello Earth — Robert Dober <robert.dober@...> 2009/04/11

On Sat, Apr 11, 2009 at 10:44 AM, Eleanor McHugh

[#333657] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/12

On Sun, Apr 12, 2009 at 12:53:07AM +0900, Robert Dober wrote:

[#333783] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/13

On 12 Apr 2009, at 06:36, Chad Perrin wrote:

[#334172] Re: Goodbye Ruby - Hello Earth — Tom Cloyd <tomcloyd@...> 2009/04/16

Eleanor McHugh wrote:

[#334187] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/16

On Fri, Apr 17, 2009 at 05:58:21AM +0900, Tom Cloyd wrote:

[#334191] Re: Goodbye Ruby - Hello Earth — Todd Benson <caduceass@...> 2009/04/17

On Thu, Apr 16, 2009 at 6:23 PM, Chad Perrin <perrin@apotheon.com> wrote:

[#334284] Re: Goodbye Ruby - Hello Earth — "Phlip" <phlip2005@...> 2009/04/18

> And besides, who are we kidding thinking that the planet needs us?

[#334334] Re: Goodbye Ruby - Hello Earth — "Phlip" <phlip2005@...> 2009/04/18

> Now, do I believe the earth's climate is changing? Absolutely. It has

[#333521] how do you manage your gems' gemspecs? — ghorner <gabriel.horner@...>

Hi,

15 messages 2009/04/10

[#333546] Python on LLVM — Daniel Berger <djberg96@...>

Python on LLVM. Thought it might be interesting to some folks here:

17 messages 2009/04/10

[#333607] a few thoughts for ruby... — Roger Pack <rogerpack2005@...>

Thought I'd pass these thoughts by the readers here before sending them

23 messages 2009/04/11

[#333624] Can Ruby stay ahead ? — Suresh Kk <sureshkkgvr@...>

Will Ruby find it difficult to stay in the first 10 languages list

27 messages 2009/04/11
[#333636] Re: Can Ruby stay ahead ? — Charles Oliver Nutter <charles.nutter@...> 2009/04/11

To be honest, I think the most important thing Rubyists could do to help

[#333707] newbie confusion and dejection — Reg <reg@...>

Over the years I have taught myself to program in C, C++, and VB to

14 messages 2009/04/13

[#333736] Ruby vs. Groovy: your perspective — Diego Virasoro <Diego.Virasoro@...>

Hello,

45 messages 2009/04/13
[#333789] Re: Ruby vs. Groovy: your perspective — Eleanor McHugh <eleanor@...> 2009/04/13

On 13 Apr 2009, at 12:35, Diego Virasoro wrote:

[#333803] Re: Ruby vs. Groovy: your perspective — Charles Oliver Nutter <charles.nutter@...> 2009/04/13

Eleanor McHugh wrote:

[#333833] Re: Ruby vs. Groovy: your perspective — James Britt <james.britt@...> 2009/04/14

Charles Oliver Nutter wrote:

[#333742] connecting to Oracle using OCI8 and DBI — Peter Bailey <pbailey@...>

Hi,

12 messages 2009/04/13

[#333867] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...>

Hi folks,

30 messages 2009/04/14
[#333885] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — James Gray <james@...> 2009/04/14

On Apr 14, 2009, at 8:14 AM, Gregory Brown wrote:

[#333894] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 12:24 PM, James Gray <james@grayproductions.net> wrote:

[#333899] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Chuck Remes <cremes.devlist@...> 2009/04/14

[#333900] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 1:44 PM, Chuck Remes <cremes.devlist@mac.com> wrote:

[#333901] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Ben Lovell <benjamin.lovell@...> 2009/04/14

On Tue, Apr 14, 2009 at 6:53 PM, Gregory Brown <gregory.t.brown@gmail.com>wrote:

[#333904] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Tony Arcieri <tony@...> 2009/04/14

On Tue, Apr 14, 2009 at 12:07 PM, Ben Lovell <benjamin.lovell@gmail.com>wrote:

[#333912] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 2:32 PM, Tony Arcieri <tony@medioh.com> wrote:

[#334011] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Michael Fellinger <m.fellinger@...> 2009/04/15

On Wed, 15 Apr 2009 04:48:42 +0900

[#334014] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/15

On Wed, Apr 15, 2009 at 11:16 AM, Michael Fellinger

[#334020] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Robert Klemme <shortcutter@...> 2009/04/15

On 15.04.2009 17:46, Gregory Brown wrote:

[#334086] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/16

On Wed, Apr 15, 2009 at 12:35 PM, Robert Klemme

[#333981] Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...>

Hello everybody !

23 messages 2009/04/15
[#334010] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/15

[#334013] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/15

Roger Pack wrote:

[#334426] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/20

Alexandre Stehlin wrote:

[#334430] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/20

Roger Pack wrote:

[#334465] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/20

[#334469] Re: Install a Windows server made with Ruby — Glen Holcomb <damnbigman@...> 2009/04/20

On Mon, Apr 20, 2009 at 7:49 AM, Roger Pack <rogerpack2005@gmail.com> wrote:

[#334631] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Glen Holcomb wrote:

[#334640] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/22

[#334644] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Ok, here's what I got :

[#334648] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Alexandre Stehlin wrote:

[#333993] reformatting a text file that has some binary in it — Adam Akhtar <adamtemporary@...>

I have never worked with binary before and after trying to solve this

20 messages 2009/04/15
[#334768] Re: reformatting a text file that has some binary in it — "t3ch.dude" <t3ch.dude@...> 2009/04/23

On Apr 23, 5:05m, Adam Akhtar <adamtempor...@gmail.com> wrote:

[#334834] Re: reformatting a text file that has some binary in it — Adam Akhtar <adamtemporary@...> 2009/04/23

ahh should have thought about that. here is a souce file

[#334063] http://rubypan.org/ — Aaron Patterson <aaron@...>

http://rubypan.org/ version 1.0.0 has been released!

16 messages 2009/04/16

[#334194] Localmemcache-0.3.0: A persistent key-value database based on mmap()'ed shared memory — "Sven C. Koehler" <schween@...>

Hi, Localmemcache-0.3.0 is ready! Persistence is officially supported

9 messages 2009/04/17

[#334272] Junctions for Ruby1.9 (Lab419::functional-0.1.2) — Robert Dober <robert.dober@...>

Hi list

14 messages 2009/04/17

[#334370] ruby1.9 and the retry keyword — Yoann Guillot <john-rubytalk@...>

Hi

12 messages 2009/04/19

[#334479] Polymorphism — Michael Satterwhite <michael@...>

As much as I like Ruby, I do miss the polymorphic behavior of routines

14 messages 2009/04/20
[#334480] Re: Polymorphism — Phlip <phlip2005@...> 2009/04/20

Michael Satterwhite wrote:

[#334510] directory watcher, trying to match filename to directory name. — Brian Wallace <draygen80@...>

Hi All,

12 messages 2009/04/21
[#334515] Re: directory watcher, trying to match filename to directory name. — David Gaya <david.gaya@...> 2009/04/21

> dw = DirectoryWatcher.new "#{@dirwatch}", :interval => 5, :glob => "*/*", :pre_load => true

[#334524] Re: directory watcher, trying to match filename to directory name. — Brian Wallace <draygen80@...> 2009/04/21

Thanks David,

[#334537] Re: directory watcher, trying to match filename to directory name. — Tim Pease <tim.pease@...> 2009/04/21

On Tue, Apr 21, 2009 at 6:51 AM, Brian Wallace <draygen80@gmail.com> wrote:

[#334529] Ruby or JRuby — Martin L'ecuyer <martin@...>

Hi i'm new here and new with Ruby. I just start to learn Ruby and Ruby

19 messages 2009/04/21
[#334531] Re: Ruby or JRuby — James Herdman <james.herdman@...> 2009/04/21

Hi Martin.

[#334532] Re: Ruby or JRuby — Robert Dober <robert.dober@...> 2009/04/21

On Tue, Apr 21, 2009 at 4:39 PM, James Herdman <james.herdman@gmail.com> wrote:

[#334696] Re: Ruby or JRuby — David Masover <ninja@...> 2009/04/22

On Tuesday 21 April 2009 09:48:47 Robert Dober wrote:

[#334710] Re: Ruby or JRuby — Robert Dober <robert.dober@...> 2009/04/22

On Wed, Apr 22, 2009 at 10:43 PM, David Masover <ninja@slaphack.com> wrote:

[#334551] Is there a better way to do this? — Paul Mckibbin <pmckibbin@...>

I recently had code which needed to work with the same structure twice,

11 messages 2009/04/21

[#334577] Can't install hpricot gem — Boris Barroso <boriscyber@...>

I can't install hpricot gem on CentOS 5, you can check the error message

13 messages 2009/04/21

[#334711] Diamondback Ruby - Static Typing for Ruby — Mike Furr <furr@...>

16 messages 2009/04/22

[#334826] Is there a better way of doing this — Damjan Rems <d_rems@...>

I have three classes.

17 messages 2009/04/23

[#334944] Digits of Pi (#202) — Daniel Moore <yahivin@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

26 messages 2009/04/24
[#334948] Re: [QUIZ] Digits of Pi (#202) — Joel VanderWerf <vjoel@...> 2009/04/24

Daniel Moore wrote:

[#334986] Methods and blocks - not that clear when blocks passed into — Steven Taylor <staylor@...>

Coming from other programming languages, notably Basic based, a little

10 messages 2009/04/25

[#335047] Using method missing to create getters and setters — Tim Conner <crofty_james@...>

Hi,

10 messages 2009/04/26

[#335060] How to parse a "line"? — Martin Sharon <huangshuo.9@...>

Hi there:

25 messages 2009/04/26
[#335061] Re: How to parse a "line"? — James Gray <james@...> 2009/04/26

On Apr 26, 2009, at 3:48 PM, Martin Sharon wrote:

[#335062] Re: How to parse a "line"? — Robert Dober <robert.dober@...> 2009/04/26

On Sun, Apr 26, 2009 at 10:56 PM, James Gray <james@grayproductions.net> wrote:

[#335069] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/26

On Sun, Apr 26, 2009 at 4:11 PM, Robert Dober <robert.dober@gmail.com> wrote:

[#335070] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/26

On Sun, Apr 26, 2009 at 5:55 PM, Todd Benson <caduceass@gmail.com> wrote:

[#335071] Re: How to parse a "line"? — Martin Sharon <huangshuo.9@...> 2009/04/27

Thank you Todd, but the number of the keywords are dynamic.

[#335085] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/27

On Sun, Apr 26, 2009 at 7:25 PM, Martin Sharon <huangshuo.9@gmail.com> wrote:

[#335068] Block Style — James Gray <james@...>

I hate to be the guy to start another { } vs. do end thread, but I

16 messages 2009/04/26

[#335151] Gui library suggestion based on my needs? — Pito Salas <rps@...>

Any recommendation on which 'gui' package I should use to build a ruby

14 messages 2009/04/27

[#335217] Why does attr_accessor in module require 'self.'? — Brian Hartin <brian.hartin@...>

Hi there,

14 messages 2009/04/27

[#335301] Detecting -0.0 — "Thomas B." <tpreal@...>

Hello.

19 messages 2009/04/28

[#335308] Random Access using IO#pos in code blocks — Arun Kumar <arun.einstein@...>

Hello everyone,

14 messages 2009/04/28
[#335369] Re: Random Access using IO#pos in code blocks — Brian Candler <b.candler@...> 2009/04/29

Arun Kumar wrote:

[#335331] New to Ruby, making a program from a disabled friend — Hank Quinlan <tjmaser@...>

Hi. I am only learning Ruby to help my friend out, and am completely new

15 messages 2009/04/29

[#335334] Issue with regexp pattern matcher withing String#gsub — Craig Jolicoeur <cpjolicoeur@...>

I'm having a strange issue I can't wrap my head around. I've posted the

10 messages 2009/04/29

[#335466] Read and re-write file with one open? — Adam Bender <abender@...>

I would like to write a Ruby script that opens a text file, performs a gsub

19 messages 2009/04/30

[#335532] setting up cygwin on windows or linux it? — Adam Akhtar <adamtemporary@...>

Due to some gems not working for windows im considering either

19 messages 2009/04/30
[#335542] Re: setting up cygwin on windows or linux it? — Hassan Schroeder <hassan.schroeder@...> 2009/04/30

On Thu, Apr 30, 2009 at 5:28 AM, Adam Akhtar <adamtemporary@gmail.com> wrote:

[#335563] Re: setting up cygwin on windows or linux it? — Aleksandr Levchuk <alevchuk@...> 2009/04/30

Usually virtualization (VMWare, etc.) is too slow to use. I would

Re: JRuby constructor issue or just me?

From: "Andrew S. Townley" <ast@...>
Date: 2009-04-27 10:56:33 UTC
List: ruby-talk #335135
Going to combine a few messages in one here:

On Mon, 2009-04-27 at 13:09 +0900, Gennady Bystritsky wrote:
> In Ruby, "super()" is different from just "super". The former will
> invoke a superclass' constructor with no parameters, while the latter
> will call it with the same number of parameters as was in "new" call.

Thanks.  That's exactly the behavior I wanted.  I wanted to call the empty constructor explicitly.

On Mon, 2009-04-27 at 13:25 +0900, Nick Sieger wrote:
> Your initialize method requires at least a "count" parameter, but
> you're not passing any. Do you mean to default it to something?
> 
> foo = Foo.new(42)
> 
> should work.

Good catch, Nick.  Test case error.  I was incrementally trying to build
up to the exact scenario that got the same error as my actual code.
Unfortunately, I stopped when I got the error, rather than actually
believing the compiler.

The original code didn't have this problem.

On Mon, 2009-04-27 at 10:29 +0900, Charles Oliver Nutter wrote:
> Andrew S. Townley wrote:
> > $ cat $HOME/output.txt
> > nene$ c:/devel/src/jruby/bin/jruby -v
> > jruby 1.3.0 (ruby 1.8.6p287) (2009-04-26 r6586) (Java HotSpot(TM) Client VM 1.6.0_13) [x86-java]
> > nene$ c:/devel/src/jruby/bin/jruby jbutton.rb
> > jbutton.rb:13: wrong # of arguments(0 for 1) (ArgumentError)
> 
> Constructors can be a little fiddly from within a Ruby class that 
> extends a Java class, due to some complicated gymnastics. If at all 
> possible you'd be better off aggregating the button, but if you must 
> extend, extend with the same constructor style and just call "super"
> 
> We want to improve how this works, but the extension code needs a 
> rewrite before that can happen. Contributing broken specs for cases like 
> this that ought to "just work" would help us too.

Thanks for the info here, Charlie.  Unfortunately, I was barking up the
wrong tree due to the message I got from jruby.  I haven't been able to
duplicate it in a simple case, but the code that caused the problem was
actually this:

 28   class Button < JButton
 29     def initialize(*args, &block)
 30       super()
 31       if args.length > 0 && args[0].is_a?(Action)
 32 #        action = args[0]
 33         self.action_command = action.action_id
 34         if action.status_text.nil?
 35           self.tool_tip_text = action.label
 36         else
 37           self.tool_tip_text = action.status_text
 38         end
 39         self.text = action.label

Originally, I didn't have the reference in line 32 because I'd copied
this code from another method where I was using aggregation instead of
inheritance, which produced the following error:

excalibur$ jruby actiontest.rb
..[path elided]/button_peer.rb:33:in `initialize': wrong # of
arguments(0 for 2) (ArgumentError)
	from actiontest.rb:46:in `initialize'
	from actiontest.rb:58

The call in actiontest.rb looks like this:

 45     back = BackAction.new
 46     b1 = Button.new(back)

Since I hadn't done the subclassing before, and the error was
complaining about the constructor call, that's where I started looking.
I couldn't figure out why the line number in the original error refers
to the first time the JButton instance was used, however.

Since Nick pointed out that the empty call to JButton() actually works
via 'super()', I went back to ensure that I wasn't making the same
mistake in the original code.  This morning, I noticed that I had
inadvertently lost the reference to the named action variable in the
refactoring.  After adding line #32, everything works swimmingly.

This is actually the kind of thing I was talking about when I said I was
having to translate JRuby error messages.

Another case was when I was trying to give a derived AbstractAction
sub-class, e.g.:

 27 class ToggleAction < AbstractAction
 28   def initialize(action)
 29     super("Toggle Action State")
 30     @action = action
 31   end
 32
 33   def actionPerformed(event)
 34     puts "perf"
 35     @action.enabled = !@action.enabled
 36   end
 37 end

Originally, since JRuby does method translation for action_performed to
actionPerformed, I'd implemented the class like this:

27 class ToggleAction < AbstractAction
28   def initialize(action)
29     super("Toggle Action State")
30     @action = action
31   end
32
33   def action_performed(event)
34     puts "perf"
35     @action.enabled = !@action.enabled
36   end
37 end

This gives the usefully obtuse (but totally accurate stack trace):

excalibur$ jruby actiontest.rb
Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: org.jruby.proxy.javax.swing.AbstractAction$Proxy2.actionPerformed(Ljava/awt/event/ActionEvent;)V
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6134)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5899)
	at java.awt.Container.processEvent(Container.java:2023)
	at java.awt.Component.dispatchEventImpl(Component.java:4501)
	at java.awt.Container.dispatchEventImpl(Container.java:2081)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
	at java.awt.Container.dispatchEventImpl(Container.java:2067)
	at java.awt.Window.dispatchEventImpl(Window.java:2458)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Admittedly, this one didn't take me as long to figure out the root
cause, but it still wasn't very helpful in identifying the actual cause.
Given that the behavior of "name mapping" isn't 100% consistent (that it
does it during calls, but not during definition), it might actually
cause problems for more people than just me.

I know that JRuby isn't the only implementation that does this (so does
IronRuby), but it might be something to put on the "todo" list to at
least provide some kind of warning or more automatic fixup.

While convenient, and certainly "more ruby-like", I'm not really sure
that doing all of the automagic method translation stuff is actually all
that necessary, and, since it's difficult to do for all cases without
adding even more overhead, maybe might just be simpler to avoid.

I'm sure most people would disagree with me, but really, how much more
of a PITA is it to do 'rubyobj.addActionListener xyzzy' than
'rubyobj.add_action_listener xyzzy'?  At least you've some visual clue
that you're calling 'native' code here, and you don't have to worry
about knowing when the interpreter's going to "do what you mean" vs. "do
what you actually said".

Overloaded methods are another kettle of fish... :)

Anyway, the problem's solved now thanks to your collective help.
Aggregation isn't an option in this particular case (even though that's
my default approach), because what I need is a UI peer class that does
some translation between an abstract toolkit's concepts of buttons,
actions, etc. and their "native" counterparts.  All the peers need to be
'native' so that they can be passed around to the appropriate classes
where necessary in a consistent way vs. being ignored 99% of the time by
the rest of the application code.

Glad it did turn out to be just me, but a more accurate error message
would be nice.

Actually, as I was going to write the rest, I just figured out why I hit
the problem.  Action is an accessor of JButton.  Since I used the same
name, silent collision, the compiler's happy, but it's obviously still
somewhat confused.  Not really sure what message I'd expect, but I still
think the current message is misleading.

At least now I understand what the issue was.

Cheers,

ast
-- 
Andrew S. Townley <ast@atownley.org>
http://atownley.org


In This Thread