My day job dictates most of my work be in .NET using C#, for the most part it works well. The usual drawbacks you hear are the costs of implementing a Microsoft solution using Windows 2003 and SQL Server. The platforms are complex but they do work. In my spare time I have had an interest in learning a new language, which is Ruby. Ruby is a language written by a Japenese developer and has gotten very popular as of late. If you haven’t gotten the chance to look at Ruby it was developed with other languages in mind and trying to better them, SmallTalk and Perl are a couple of those languages. It is well worth a look. Well it seems a developer named John Lam has created a Ruby to CLR bridge, known as RubyCLR, so developers can create Ruby code under the .NET CLR. It sounds like a match made in heaven and it has been getting more attention as of late. I downloaded the latest RubyCLR drop from John’s web site and proceeded to install it. Install is a strong word since you simple unzip the contents of the file into a directory. All of the CLR bridge source code is included as well as a bunch of ruby code to handle the Ruby side of things and a bunch of Ruby files that exercises the bridge to the CLR. The code below is an example from the drop. It brings up a window running in Windows and databinds a drop down list. It’s just works.
require 'winforms'
class MainForm def initialize form = Form.new form.Text = 'Ruby WinForms App' names = [] names << 'John' << 'Paul' << 'George' << 'Ringo' list = ListBox.new list.data_source = names.make_bindable form.controls.add(list) @form = form end end WinFormsApp.run(MainForm)
I have installed and tested all of the samples that came with RubyCLR, all but one work and it may be a permission issue on my system I need to work out. John points out his samples were tested in Ruby 1.8.2, but I am running 1.8.4 so it may have something to do with the differing version numbers too. I plan to write my own .NET apps over the coming weeks using this tool. I report my progress and share the code I create. Update : 7/30/2007 – the RubyCLR project has moved to RubyForge.? The project can be found at http://rubyforge.org/projects/rubyclr/. Technorati Tags : Ruby, Ruby on Rails, RubyCLR
Rob – can you let me know which sample isn’t working? I have other folks who have run things successfully on 1.8.4, but I still haven’t upgraded yet …
Rob – can you let me know which sample isn’t working? I have other folks who have run things successfully on 1.8.4, but I still haven’t upgraded yet …
John,
The sample that is not working is the RssReader. I get the following error:
“C:/Dev/RubyCLR/Src/Ruby/core.rb:244:in `const_missing’: uninitialized constant S
ystem::Net (NameError)
from C:/Dev/RubyCLR/Samples/RssReader/rssreader.rb:6″
All of the other samples work fine.
John,
The sample that is not working is the RssReader. I get the following error:
“C:/Dev/RubyCLR/Src/Ruby/core.rb:244:in `const_missing’: uninitialized constant S
ystem::Net (NameError)
from C:/Dev/RubyCLR/Samples/RssReader/rssreader.rb:6”
All of the other samples work fine.
Hi Rob,
I am more of a .Net guy than a Ruby, but i’m curious about ruby and mainly how to integrate with .Net.
While trying the samples, I had the same problem and managed to fix it by doind the following:
1. Added RubyClr::reference ‘System’ to rssreader.rb
This should add a reference to System.dll assembly where System.Net namespace can be found.
2. Mapped paths in offline_links.dat to correct location of rubyclr.
Hope this is of any help to you…
Hi Rob,
I am more of a .Net guy than a Ruby, but i’m curious about ruby and mainly how to integrate with .Net.
While trying the samples, I had the same problem and managed to fix it by doind the following:
1. Added RubyClr::reference ‘System’ to rssreader.rb
This should add a reference to System.dll assembly where System.Net namespace can be found.
2. Mapped paths in offline_links.dat to correct location of rubyclr.
Hope this is of any help to you…
Pedro,
I am more of a .NET guy too. My curiosities are the same as yours.
I did try what you suggested a few days ago and I get a different error.
Are you using Ruby 1.8.4? I assume your are on .NET 2.0 Framework. I don’t even know if RubyCLR runs on 1.x.
Pedro,
I am more of a .NET guy too. My curiosities are the same as yours.
I did try what you suggested a few days ago and I get a different error.
Are you using Ruby 1.8.4? I assume your are on .NET 2.0 Framework. I don’t even know if RubyCLR runs on 1.x.
Hi,
I am also running Ruby 1.8.4 Windows 2K, .NET Framework 2.0.
I could build project successfully using Visual Studio 2005.
My question:
How did you run the above sample program? Did you have to compile the program (with what?)
Could you guide me thru running above program?
Hi,
I am also running Ruby 1.8.4 Windows 2K, .NET Framework 2.0.
I could build project successfully using Visual Studio 2005.
My question:
How did you run the above sample program? Did you have to compile the program (with what?)
Could you guide me thru running above program?
[…] WinForms with a cleaner syntax. Share this post: Email it! | bookmark it! | digg it! | reddit!| kick it! _uacct = “UA-531207-1”; urchinTracker(); Published Sunday, November 05, 2006 8:49 PM byjmiller […]
[…] WinForms with a cleaner syntax. Share this post: Email it! | bookmark it! | digg it! | reddit!| kick it! _uacct = “UA-531207-1”; urchinTracker(); Published Sunday, November 05, 2006 8:49 PM byjmiller […]
I cannot find the latest IronRuby download anywhere. Any hints? Link?
I cannot find the latest IronRuby download anywhere. Any hints? Link?
It was moved to RubyForge, find it here rubyforge.org/…/rubyclr
-Rob
It was moved to RubyForge, find it here rubyforge.org/…/rubyclr
-Rob