Ruby

From eqqon

(Difference between revisions)
Jump to: navigation, search
(GUI Toolkit Bindings)
 
(19 intermediate revisions not shown)
Line 1: Line 1:
 +
__NOTOC__
<div style="float:right;">[[Image:Ruby_logo.gif]]</div>
<div style="float:right;">[[Image:Ruby_logo.gif]]</div>
-
= Extending Ruby in C =
 
-
We found that the README.ext from Ruby's source distribution is not comfortable to read so we decided to mirror it on our site with proper formatting and some helpful additions: [[Ruby C Extension|Ruby1.8 extension API]].
 
-
= More Ruby Resources =
+
= Articles =
 +
 
 +
{{ArticleTeaser
 +
|pagelink=[[The Future of Ruby]]
 +
|iconlink={{clickpic|The Future of Ruby|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=The Future of Ruby
 +
|author=[[User:Henon|Henon]]
 +
|intro=Yukihiro Matsumoto's C implementation of [[Ruby]] aka '''M'''ain '''R'''uby '''I'''mplementation  is considered the '''Quasi-Standard of the Ruby Language''' since there has never been an explicit language standard for Ruby. As the number of implementations grows, however, a formal standard seems to become necessary to prevent the horror scenario of various non-conform interpreters.
 +
}}
 +
 
 +
{{ArticleTeaser
 +
|pagelink=[[Ruby C Extension API Documentation (Ruby 1.8)]]
 +
|iconlink={{clickpic|Ruby C Extension API Documentation (Ruby 1.8)|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=Ruby V1.8 C extension
 +
|author=[[User:Zelenka|W. Zelenka]]
 +
|intro=Extending Ruby with C functions is quiet easy. After you have learned the principles and worked through the ambiguous usage of the API functions you get the power of the Ruby language to your C program. Then it is possible to solve the time critical tasks at the C program and the complex part by Ruby.  We created a simple tutorial to get quickly familiar with the Ruby C extension API. Since the original article is only in plain text it is not quite readable. We provide better formatting and readability through markup and incorporated some of our experiences while building Ruby extensions.
 +
}}
 +
 
 +
{{ArticleTeaser
 +
|pagelink=[[Ruby/Ruby V1.9 C Extension]]
 +
|iconlink={{clickpic|Ruby/Ruby V1.9 C Extension|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=Ruby V1.9 C extension
 +
|author=[[User:Zelenka|W. Zelenka]]
 +
|intro=Basicly the interface is similar to V1.8. So most parts of your implementation should run also with V1.9. I had some troubles initializing the interpreter, this differs in V1.9 and V1.8. Threading is now implemented native. But there is a major drawback with the Ruby interpreter implementation. Many global's are used. As a result the interpreter cannot be run more than once at a process. As an example, the LUA interpreter does this perfect. The interpreter can run at several instances, each instance using a pointer to the interpreter context.
 +
}}
 +
 
 +
 
 +
----
 +
===external links===
<div style="clear:left;"></div>
<div style="clear:left;"></div>
-
<div id="floating_section">
+
{| style="vertical-align:top;"
 +
|------------------------- style="vertical-align:top;"
 +
||
=== Community ===
=== Community ===
* [http://www.ruby-lang.org/en official Ruby home]
* [http://www.ruby-lang.org/en official Ruby home]
Line 14: Line 43:
* [http://en.wikipedia.org/wiki/Ruby_programming_language Wikipedia article on Ruby]
* [http://en.wikipedia.org/wiki/Ruby_programming_language Wikipedia article on Ruby]
-
</div><div id="floating_section">
+
||
=== Different Implementations ===
=== Different Implementations ===
 +
* [http://rubydotnet.googlegroups.com/web/Home.htm Ruby.NET] Version 0.9 has substantial improvements, the project is on the way to production quality. - .NET compiler for Ruby.
 +
* [http://www.ironruby.net/ Iron Ruby] The (yet far from complete) C# implementation by Microsoft designed for .NET interoperability.
* [http://jruby.codehaus.org/ JRuby] A very complete implementation of the interpreter in Java.  
* [http://jruby.codehaus.org/ JRuby] A very complete implementation of the interpreter in Java.  
-
* [http://www.atdot.net/yarv/ YARV] The site of the virtual machine which has been merged into 1.9.
+
* [http://rubini.us/ Rubinious] An implementation based loosely on the Smalltalk-80 VM architecture.
-
* [http://plas2003.fit.qut.edu.au/Ruby.NET/ Ruby.NET] Still incomplete and unoptimized .NET compiler for Ruby.
+
-
* <b>Iron Ruby</b> This implementation on the DLR by Microsoft has been presented but hass not yet be released.
+
-
 
+
-
</div><div id="floating_section">
+
 +
|------------------------- style="vertical-align:top;"
 +
||
=== Documentation ===
=== Documentation ===
* [http://www.rubyist.net/~slagell/ruby/ Ruby Tutorial]
* [http://www.rubyist.net/~slagell/ruby/ Ruby Tutorial]
Line 33: Line 62:
* [http://docs.huihoo.com/ruby/ruby-man-1.4/syntax.html Ruby Syntax]
* [http://docs.huihoo.com/ruby/ruby-man-1.4/syntax.html Ruby Syntax]
-
</div><div id="floating_section">
+
||
-
 
+
=== GUI Toolkit Bindings ===
=== GUI Toolkit Bindings ===
* [http://fxruby.org FXRuby] Ruby bindings to the [http://fox-toolkit.org FOX Toolkit]. A GUI designer is available too: [http://fox-tool.rubyforge.org FoxGUIb].
* [http://fxruby.org FXRuby] Ruby bindings to the [http://fox-toolkit.org FOX Toolkit]. A GUI designer is available too: [http://fox-tool.rubyforge.org FoxGUIb].
Line 41: Line 69:
* Ruby-Qt
* Ruby-Qt
-
</div>
+
|------------------------- style="vertical-align:top;"
 +
||
 +
=== Libraries ===
 +
*[http://rake.rubyforge.org/ Rake]
 +
*[http://rspec.rubyforge.org/ RSpec (BDD Framework)]
 +
*[http://www.rubyonrails.org/ Rails]
 +
*[http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/index.html URI]
 +
*[http://www.ruby-doc.org/stdlib/libdoc/pathname/rdoc/index.html Pathname]
-
__NOTOC__
+
|}

Latest revision as of 16:16, 6 January 2009

Ruby logo.gif

Articles

32px-Ruby_logo1.png
 
Author: Henon
The Future of Ruby  -  The Future of Ruby
Yukihiro Matsumoto's C implementation of Ruby aka Main Ruby Implementation is considered the Quasi-Standard of the Ruby Language since there has never been an explicit language standard for Ruby. As the number of implementations grows, however, a formal standard seems to become necessary to prevent the horror scenario of various non-conform interpreters.   Read The Future of Ruby ...
32px-Ruby_logo1.png
 
Author: W. Zelenka
Ruby C Extension API Documentation (Ruby 1.8)  -  Ruby V1.8 C extension
Extending Ruby with C functions is quiet easy. After you have learned the principles and worked through the ambiguous usage of the API functions you get the power of the Ruby language to your C program. Then it is possible to solve the time critical tasks at the C program and the complex part by Ruby. We created a simple tutorial to get quickly familiar with the Ruby C extension API. Since the original article is only in plain text it is not quite readable. We provide better formatting and readability through markup and incorporated some of our experiences while building Ruby extensions.   Read Ruby C Extension API Documentation (Ruby 1.8) ...
32px-Ruby_logo1.png
 
Author: W. Zelenka
Ruby/Ruby V1.9 C Extension  -  Ruby V1.9 C extension
Basicly the interface is similar to V1.8. So most parts of your implementation should run also with V1.9. I had some troubles initializing the interpreter, this differs in V1.9 and V1.8. Threading is now implemented native. But there is a major drawback with the Ruby interpreter implementation. Many global's are used. As a result the interpreter cannot be run more than once at a process. As an example, the LUA interpreter does this perfect. The interpreter can run at several instances, each instance using a pointer to the interpreter context.   Read Ruby/Ruby V1.9 C Extension ...



external links

Community

Different Implementations

  • Ruby.NET Version 0.9 has substantial improvements, the project is on the way to production quality. - .NET compiler for Ruby.
  • Iron Ruby The (yet far from complete) C# implementation by Microsoft designed for .NET interoperability.
  • JRuby A very complete implementation of the interpreter in Java.
  • Rubinious An implementation based loosely on the Smalltalk-80 VM architecture.

Documentation

GUI Toolkit Bindings

Libraries