From: <ol...@us...> - 2010-09-08 00:54:37
|
Revision: 12207 http://swig.svn.sourceforge.net/swig/?rev=12207&view=rev Author: olly Date: 2010-09-08 00:54:31 +0000 (Wed, 08 Sep 2010) Log Message: ----------- Change HTML to be more suitable for human edits. Modified Paths: -------------- trunk/Doc/Manual/Ruby.html Modified: trunk/Doc/Manual/Ruby.html =================================================================== --- trunk/Doc/Manual/Ruby.html 2010-09-08 00:21:35 UTC (rev 12206) +++ trunk/Doc/Manual/Ruby.html 2010-09-08 00:54:31 UTC (rev 12207) @@ -1,31 +1,12 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - - - - - - - - - - - - - - <title>SWIG and Ruby</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> +<body bgcolour="#ffffff"> -<body style="background-color: rgb(255, 255, 255);"> - - - - - <H1><a name="Ruby"></a>33 SWIG and Ruby</H1> <!-- INDEX --> <div class="sectiontoc"> @@ -255,7 +236,9 @@ <div class="code shell diagram"> -<pre>/usr/lib/ruby/1.8/x86_64-linux-gnu/ruby.h<br>/usr/local/lib/ruby/1.6/i686-linux/ruby.h<br></pre> +<pre>/usr/lib/ruby/1.8/x86_64-linux-gnu/ruby.h +/usr/local/lib/ruby/1.6/i686-linux/ruby.h +</pre> @@ -276,7 +259,10 @@ <div class="code shell"> -<pre>$ <b>ruby -e 'puts $:.join("\n")'</b><br>/usr/local/lib/ruby/site_ruby/1.6 /usr/local/lib/ruby/site_ruby/1.6/i686-linux<br>/usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/1.6 /usr/local/lib/ruby/1.6/i686-linux .<br> </pre> +<pre>$ <b>ruby -e 'puts $:.join("\n")'</b> +/usr/local/lib/ruby/site_ruby/1.6 /usr/local/lib/ruby/site_ruby/1.6/i686-linux +/usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/1.6 /usr/local/lib/ruby/1.6/i686-linux . +</pre> @@ -324,16 +310,7 @@ <div class="code targetlang"> - - - - <pre>require 'mkmf'<br>create_makefile('example')<br></pre> - - - - - </div> @@ -401,7 +378,12 @@ <div class="code targetlang"> -<pre>open("Makefile", "a") { |mf|<br> puts <<EOM<br> # Your make rules go here<br> EOM<br>}<br></pre> +<pre>open("Makefile", "a") { |mf| + puts <<EOM + # Your make rules go here + EOM +} +</pre> @@ -424,7 +406,10 @@ <div class="code shell"> -<pre>$ <b>swig -ruby example.i</b><br>$ <b>gcc -c example.c</b><br>$ <b>gcc -c example_wrap.c -I/usr/local/lib/ruby/1.6/i686-linux</b> <br>$ <b>gcc -shared example.o example_wrap.o -o example.so</b> +<pre>$ <b>swig -ruby example.i</b> +$ <b>gcc -c example.c</b> +$ <b>gcc -c example_wrap.c -I/usr/local/lib/ruby/1.6/i686-linux</b> +$ <b>gcc -shared example.o example_wrap.o -o example.so</b> </pre> @@ -456,12 +441,17 @@ <div class="code targetlang"> -<pre># The feature name begins with a lowercase letter...<br>require 'etc'<br><br># ... but the module name begins with an uppercase letter<br>puts "Your login name: #{Etc.getlogin}"<br></pre> +<pre># The feature name begins with a lowercase letter... +require 'etc' +# ... but the module name begins with an uppercase letter +puts "Your login name: #{Etc.getlogin}" +</pre> + </div> @@ -2733,7 +2723,7 @@ -<span style="font-weight: bold;">>> [3, 4, 5 ]</span></div> +<b>>> [3, 4, 5 ]</b></div> @@ -10098,12 +10088,43 @@ <div class="code"> -<pre>/* File RubyOwnershipExample.i */<br><br>%module RubyOwnershipExample<br><br>%{<br>#include "RubyOwnershipExample.h"<br>%}<br><br>class Foo<br>{<br>public:<br> Foo();<br> ~Foo();<br>};<br><br>class Bar<br>{<br> Foo *foo_;<br>public:<br> Bar();<br> ~Bar();<br> Foo* get_foo();<br><br><span style="font-weight: bold;"> %newobject get_new_foo;</span><br> Foo* get_new_foo();<br><br><span style="font-weight: bold;"> %apply SWIGTYPE *DISOWN {Foo *foo};</span><br> void set_foo(Foo *foo);<br><span style="font-weight: bold;"> %clear Foo *foo;</span><br>};<br><br></pre> +<pre>/* File RubyOwnershipExample.i */ +%module RubyOwnershipExample +%{ +#include "RubyOwnershipExample.h" +%} +class Foo +{ +public: + Foo(); + ~Foo(); +}; +class Bar +{ + Foo *foo_; +public: + Bar(); + ~Bar(); + Foo* get_foo(); +<b> %newobject get_new_foo;</b> + Foo* get_new_foo(); + +<b> %apply SWIGTYPE *DISOWN {Foo *foo};</b> + void set_foo(Foo *foo); +<b> %clear Foo *foo;</b> +}; + +</pre> + + + + + </div> @@ -10165,12 +10186,40 @@ <div class="code targetlang"> -<pre>$ <span style="font-weight: bold;">irb</span><br>irb(main):001:0> <span style="font-weight: bold;">require 'example'</span><br>=> true<br><br>irb(main):002:0> <span style="font-weight: bold;">tiger1 = Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2be3820><br><br>irb(main):004:0> <span style="font-weight: bold;">tiger1.get_name()</span><br>=> "tiger1"<br><br>irb(main):003:0> <span style="font-weight: bold;">zoo = Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be0a60><br><br>irb(main):006:0> <span style="font-weight: bold;">zoo.add_animal(tiger)</span><br>=> nil<br><br>irb(main):007:0> <span style="font-weight: bold;">zoo.get_num_animals()</span><br>=> 1<br><br>irb(main):007:0> <span style="font-weight: bold;">tiger2 = zoo.remove_animal(0)</span><br>=> #<Example::Animal:0x2bd4a18><br><br>irb(main):008:0> <span style="font-weight: bold;">tiger2.get_name()</span><br>=> "tiger1"<br><br>irb(main):009:0> <span style="font-weight: bold;">tiger1.equal?(tiger2)</span><br>=> false<br><br></pre> +<pre>$ <b>irb</b> +irb(main):001:0> <b>require 'example'</b> +=> true +irb(main):002:0> <b>tiger1 = Example::Animal.new("tiger1")</b> +=> #<Example::Animal:0x2be3820> +irb(main):004:0> <b>tiger1.get_name()</b> +=> "tiger1" +irb(main):003:0> <b>zoo = Example::Zoo.new()</b> +=> #<Example::Zoo:0x2be0a60> +irb(main):006:0> <b>zoo.add_animal(tiger)</b> +=> nil +irb(main):007:0> <b>zoo.get_num_animals()</b> +=> 1 + +irb(main):007:0> <b>tiger2 = zoo.remove_animal(0)</b> +=> #<Example::Animal:0x2bd4a18> + +irb(main):008:0> <b>tiger2.get_name()</b> +=> "tiger1" + +irb(main):009:0> <b>tiger1.equal?(tiger2)</b> +=> false + +</pre> + + + + + </div> @@ -10192,12 +10241,21 @@ <div class="code targetlang"> -<pre>irb(main):010:0> <span style="font-weight: bold;">tiger1 = nil</span><br>=> nil<br><br>irb(main):011:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br><br>irb(main):012:0> <span style="font-weight: bold;">tiger2.get_name()</span><br>(irb):12: [BUG] Segmentation fault<br><br></pre> +<pre>irb(main):010:0> <b>tiger1 = nil</b> +=> nil +irb(main):011:0> <b>GC.start</b> +=> nil +irb(main):012:0> <b>tiger2.get_name()</b> +(irb):12: [BUG] Segmentation fault +</pre> + + + </div> @@ -10251,7 +10309,7 @@ <div class="code"> -<pre>%module example<br><br>%{<br>#include "example.h"<br>%}<br><br><span style="font-weight: bold;">/* Tell SWIG that create_animal creates a new object */</span><br><span style="font-weight: bold;">%newobject Zoo::create_animal;</span><br><br><span style="font-weight: bold;">/* Tell SWIG to keep track of mappings between C/C++ structs/classes. */</span><br style="font-weight: bold;"><span style="font-weight: bold;">%trackobjects;</span><br><br>%include "example.h"</pre> +<pre>%module example<br><br>%{<br>#include "example.h"<br>%}<br><br><b>/* Tell SWIG that create_animal creates a new object */</b><br><b>%newobject Zoo::create_animal;</b><br><br><b>/* Tell SWIG to keep track of mappings between C/C++ structs/classes. */</b><br style="font-weight: bold;"><b>%trackobjects;</b><br><br>%include "example.h"</pre> @@ -10282,7 +10340,7 @@ <div class="code targetlang"> -<pre>$ <span style="font-weight: bold;">irb</span><br>irb(main):001:0> <span style="font-weight: bold;">require 'example'</span><br>=> true<br><br>irb(main):002:0> <span style="font-weight: bold;">tiger1 = Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2be37d8><br><br>irb(main):003:0> <span style="font-weight: bold;">zoo = Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be0a18><br><br>irb(main):004:0> <span style="font-weight: bold;">zoo.add_animal(tiger1)</span><br>=> nil<br><br>irb(main):006:0> <span style="font-weight: bold;">tiger2 = zoo.remove_animal(0)</span><br>=> #<Example::Animal:0x2be37d8><br><br>irb(main):007:0> <span style="font-weight: bold;">tiger1.equal?(tiger2)</span><br>=> true<br><br>irb(main):008:0> <span style="font-weight: bold;">tiger1 = nil</span><br>=> nil<br><br>irb(main):009:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br><br>irb(main):010:0> <span style="font-weight: bold;">tiger.get_name()</span><br>=> "tiger1"<br>irb(main):011:0><br><br></pre> +<pre>$ <b>irb</b><br>irb(main):001:0> <b>require 'example'</b><br>=> true<br><br>irb(main):002:0> <b>tiger1 = Example::Animal.new("tiger1")</b><br>=> #<Example::Animal:0x2be37d8><br><br>irb(main):003:0> <b>zoo = Example::Zoo.new()</b><br>=> #<Example::Zoo:0x2be0a18><br><br>irb(main):004:0> <b>zoo.add_animal(tiger1)</b><br>=> nil<br><br>irb(main):006:0> <b>tiger2 = zoo.remove_animal(0)</b><br>=> #<Example::Animal:0x2be37d8><br><br>irb(main):007:0> <b>tiger1.equal?(tiger2)</b><br>=> true<br><br>irb(main):008:0> <b>tiger1 = nil</b><br>=> nil<br><br>irb(main):009:0> <b>GC.start</b><br>=> nil<br><br>irb(main):010:0> <b>tiger.get_name()</b><br>=> "tiger1"<br>irb(main):011:0><br><br></pre> @@ -10359,7 +10417,7 @@ <div class="targetlang"> -<pre>$ <b>irb</b><br>irb(main):001:0> <span style="font-weight: bold;">require 'example'</span><br>=> true<br><br>irb(main):002:0> tiger1 = <span style="font-weight: bold;">Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2bea6a8><br><br>irb(main):003:0> zoo = <span style="font-weight: bold;">Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be7960><br><br>irb(main):004:0> <span style="font-weight: bold;">zoo.add_animal(tiger1)</span><br>=> nil<br><br>irb(main):007:0> <span style="font-weight: bold;">tiger1 = nil</span><br>=> nil<br><br>irb(main):007:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br><br>irb(main):005:0> <span style="font-weight: bold;">tiger2 = zoo.get_animal(0)</span><br>(irb):12: [BUG] Segmentation fault</pre> +<pre>$ <b>irb</b><br>irb(main):001:0> <b>require 'example'</b><br>=> true<br><br>irb(main):002:0> tiger1 = <b>Example::Animal.new("tiger1")</b><br>=> #<Example::Animal:0x2bea6a8><br><br>irb(main):003:0> zoo = <b>Example::Zoo.new()</b><br>=> #<Example::Zoo:0x2be7960><br><br>irb(main):004:0> <b>zoo.add_animal(tiger1)</b><br>=> nil<br><br>irb(main):007:0> <b>tiger1 = nil</b><br>=> nil<br><br>irb(main):007:0> <b>GC.start</b><br>=> nil<br><br>irb(main):005:0> <b>tiger2 = zoo.get_animal(0)</b><br>(irb):12: [BUG] Segmentation fault</pre> @@ -10407,7 +10465,7 @@ <div class="code"> -<pre>%module example<br><br>%{<br>#include "example.h"<br>%}<br><br>/* Keep track of mappings between C/C++ structs/classes<br> and Ruby objects so we can implement a mark function. */<br><span style="font-weight: bold;">%trackobjects;</span><br><br>/* Specify the mark function */<br><span style="font-weight: bold;">%markfunc Zoo "mark_Zoo";</span><br><br>%include "example.h"<br><br>%header %{<br><br>static void mark_Zoo(void* ptr) {<br> Zoo* zoo = (Zoo*) ptr;<br><br> /* Loop over each object and tell the garbage collector<br> that we are holding a reference to them. */<br> int count = zoo->get_num_animals();<br><br> for(int i = 0; i < count; ++i) {<br> Animal* animal = zoo->get_animal(i);<br> VALUE object = SWIG_RubyInstanceFor(animal);<br><br> if (object != Qnil) {<br> rb_gc_mark(object);<br> }<br> }<br>}<br>%}<br><br></pre> +<pre>%module example<br><br>%{<br>#include "example.h"<br>%}<br><br>/* Keep track of mappings between C/C++ structs/classes<br> and Ruby objects so we can implement a mark function. */<br><b>%trackobjects;</b><br><br>/* Specify the mark function */<br><b>%markfunc Zoo "mark_Zoo";</b><br><br>%include "example.h"<br><br>%header %{<br><br>static void mark_Zoo(void* ptr) {<br> Zoo* zoo = (Zoo*) ptr;<br><br> /* Loop over each object and tell the garbage collector<br> that we are holding a reference to them. */<br> int count = zoo->get_num_animals();<br><br> for(int i = 0; i < count; ++i) {<br> Animal* animal = zoo->get_animal(i);<br> VALUE object = SWIG_RubyInstanceFor(animal);<br><br> if (object != Qnil) {<br> rb_gc_mark(object);<br> }<br> }<br>}<br>%}<br><br></pre> @@ -10436,7 +10494,7 @@ <div class="targetlang"> -<pre>$ <b>irb<br></b>irb(main):002:0> <span style="font-weight: bold;">tiger1=Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2be3bf8><br><br>irb(main):003:0> <span style="font-weight: bold;">Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be1780><br><br>irb(main):004:0> <span style="font-weight: bold;">zoo = Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2bde9c0><br><br>irb(main):005:0> <span style="font-weight: bold;">zoo.add_animal(tiger1)</span><br>=> nil<br><br>irb(main):009:0> <span style="font-weight: bold;">tiger1 = nil</span><br>=> nil<br><br>irb(main):010:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br>irb(main):014:0> <span style="font-weight: bold;">tiger2 = zoo.get_animal(0)</span><br>=> #<Example::Animal:0x2be3bf8><br><br>irb(main):015:0> <span style="font-weight: bold;">tiger2.get_name()</span><br>=> "tiger1"<br>irb(main):016:0><br><br></pre> +<pre>$ <b>irb<br></b>irb(main):002:0> <b>tiger1=Example::Animal.new("tiger1")</b><br>=> #<Example::Animal:0x2be3bf8><br><br>irb(main):003:0> <b>Example::Zoo.new()</b><br>=> #<Example::Zoo:0x2be1780><br><br>irb(main):004:0> <b>zoo = Example::Zoo.new()</b><br>=> #<Example::Zoo:0x2bde9c0><br><br>irb(main):005:0> <b>zoo.add_animal(tiger1)</b><br>=> nil<br><br>irb(main):009:0> <b>tiger1 = nil</b><br>=> nil<br><br>irb(main):010:0> <b>GC.start</b><br>=> nil<br>irb(main):014:0> <b>tiger2 = zoo.get_animal(0)</b><br>=> #<Example::Animal:0x2be3bf8><br><br>irb(main):015:0> <b>tiger2.get_name()</b><br>=> "tiger1"<br>irb(main):016:0><br><br></pre> @@ -10512,19 +10570,27 @@ object is responsible for freeing animal that it contains. This means that the <span style="font-family: monospace;">Zoo::add_animal</span> function should be marked with a <span style="font-family: monospace;">DISOWN</span> typemap -and the destructor should be updated as below::</p> +and the destructor should be updated as below:</p> <div class="code"> -<pre>Zoo::~Zoo() {<br> IterType iter = this->animals.begin();<br> IterType end = this->animals.end();<br><br> for(iter; iter != end; ++iter) {<br> Animal* animal = *iter;<br> delete animal;<br> }<br>}</pre> +<pre>Zoo::~Zoo() { + IterType iter = this->animals.begin(); + IterType end = this->animals.end(); + for(iter; iter != end; ++iter) { + Animal* animal = *iter; + delete animal; + } +}</pre> + </div> @@ -10538,12 +10604,34 @@ <div class="code targetlang"> -<pre class="targetlang"><span style="font-weight: bold;">$irb</span><br>irb(main):002:0> <span style="font-weight: bold;">require 'example'</span><br>=> true<br><br>irb(main):003:0> <span style="font-weight: bold;">zoo = Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be0fe8><br><br>irb(main):005:0> <span style="font-weight: bold;">tiger1 = Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2bda760><br><br>irb(main):006:0> <span style="font-weight: bold;">zoo.add_animal(tiger1)</span><br>=> nil<br><br>irb(main):007:0> <span style="font-weight: bold;">zoo = nil</span><br>=> nil<br><br>irb(main):008:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br><br>irb(main):009:0> <span style="font-weight: bold;">tiger1.get_name()</span><br>(irb):12: [BUG] Segmentation fault<br><br></pre> +<pre class="targetlang"><b>$irb</b> +irb(main):002:0> <b>require 'example'</b> +=> true +irb(main):003:0> <b>zoo = Example::Zoo.new()</b> +=> #<Example::Zoo:0x2be0fe8> +irb(main):005:0> <b>tiger1 = Example::Animal.new("tiger1")</b> +=> #<Example::Animal:0x2bda760> +irb(main):006:0> <b>zoo.add_animal(tiger1)</b> +=> nil +irb(main):007:0> <b>zoo = nil</b> +=> nil +irb(main):008:0> <b>GC.start</b> +=> nil + +irb(main):009:0> <b>tiger1.get_name()</b> +(irb):12: [BUG] Segmentation fault + +</pre> + + + + + </div> @@ -10571,12 +10659,54 @@ <div class="code"> -<pre>%module example<br><br>%{<br>#include "example.h"<br>%}<br><br>/* Specify that ownership is transferred to the zoo<br> when calling add_animal */<br>%apply SWIGTYPE *DISOWN { Animal* animal };<br><br>/* Track objects */<br>%trackobjects;<br><br>/* Specify the mark function */<br>%freefunc Zoo "free_Zoo";<br><br>%include "example.h"<br><br>%header %{<br> static void free_Zoo(void* ptr) {<br> Zoo* zoo = (Zoo*) ptr;<br><br> /* Loop over each animal */<br> int count = zoo->get_num_animals();<br><br> for(int i = 0; i < count; ++i) {<br> /* Get an animal */<br> Animal* animal = zoo->get_animal(i);<br><br> /* Unlink the Ruby object from the C++ object */<br> SWIG_RubyUnlinkObjects(animal);<br><br> /* Now remove the tracking for this animal */<br> SWIG_RubyRemoveTracking(animal);<br> }<br><br> /* Now call SWIG_RubyRemoveTracking for the zoo */<br> SWIG_RubyRemoveTracking(ptr);<br> <br> /* Now free the zoo which will free the animals it contains */<br> delete zoo;<br> }<br>%} </pre> +<pre>%module example +%{ +#include "example.h" +%} +/* Specify that ownership is transferred to the zoo + when calling add_animal */ +%apply SWIGTYPE *DISOWN { Animal* animal }; +/* Track objects */ +%trackobjects; +/* Specify the mark function */ +%freefunc Zoo "free_Zoo"; +%include "example.h" + +%header %{ + static void free_Zoo(void* ptr) { + Zoo* zoo = (Zoo*) ptr; + + /* Loop over each animal */ + int count = zoo->get_num_animals(); + + for(int i = 0; i < count; ++i) { + /* Get an animal */ + Animal* animal = zoo->get_animal(i); + + /* Unlink the Ruby object from the C++ object */ + SWIG_RubyUnlinkObjects(animal); + + /* Now remove the tracking for this animal */ + SWIG_RubyRemoveTracking(animal); + } + + /* Now call SWIG_RubyRemoveTracking for the zoo */ + SWIG_RubyRemoveTracking(ptr); + + /* Now free the zoo which will free the animals it contains */ + delete zoo; + } +%} </pre> + + + + + </div> @@ -10590,12 +10720,35 @@ <div class="code targetlang"> -<pre><span style="font-weight: bold;">$irb</span><br>irb(main):002:0> <span style="font-weight: bold;">require 'example'</span><br>=> true<br><br>irb(main):003:0> <span style="font-weight: bold;">zoo = Example::Zoo.new()</span><br>=> #<Example::Zoo:0x2be0fe8><br><br>irb(main):005:0> <span style="font-weight: bold;">tiger1 = Example::Animal.new("tiger1")</span><br>=> #<Example::Animal:0x2bda760><br><br>irb(main):006:0> <span style="font-weight: bold;">zoo.add_animal(tiger1)</span><br>=> nil<br><br>irb(main):007:0> <span style="font-weight: bold;">zoo = nil</span><br>=> nil<br><br>irb(main):008:0> <span style="font-weight: bold;">GC.start</span><br>=> nil<br><br>irb(main):009:0> <span style="font-weight: bold;">tiger1.get_name()</span><br>RuntimeError: This Animal * already released<br> from (irb):10:in `get_name'<br> from (irb):10<br>irb(main):011:0></pre> +<pre><b>$irb</b> +irb(main):002:0> <b>require 'example'</b> +=> true +irb(main):003:0> <b>zoo = Example::Zoo.new()</b> +=> #<Example::Zoo:0x2be0fe8> +irb(main):005:0> <b>tiger1 = Example::Animal.new("tiger1")</b> +=> #<Example::Animal:0x2bda760> +irb(main):006:0> <b>zoo.add_animal(tiger1)</b> +=> nil +irb(main):007:0> <b>zoo = nil</b> +=> nil +irb(main):008:0> <b>GC.start</b> +=> nil + +irb(main):009:0> <b>tiger1.get_name()</b> +RuntimeError: This Animal * already released + from (irb):10:in `get_name' + from (irb):10 +irb(main):011:0></pre> + + + + + </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2011-12-20 21:17:28
|
Revision: 12878 http://swig.svn.sourceforge.net/swig/?rev=12878&view=rev Author: wsfulton Date: 2011-12-20 21:17:21 +0000 (Tue, 20 Dec 2011) Log Message: ----------- Ruby doc improvements after directorargout typemap changes Modified Paths: -------------- trunk/Doc/Manual/Ruby.html Modified: trunk/Doc/Manual/Ruby.html =================================================================== --- trunk/Doc/Manual/Ruby.html 2011-12-20 20:50:36 UTC (rev 12877) +++ trunk/Doc/Manual/Ruby.html 2011-12-20 21:17:21 UTC (rev 12878) @@ -6517,49 +6517,16 @@ <tr> - - - - - + <td style="font-family: monospace;">$input</td> + <td style="font-family: monospace;">Ruby object being sent to the function</td> + </tr> + <tr> <td style="font-family: monospace;">$symname </td> - - - - - - <td style="font-family: monospace;"> Name of -function/method being wrapped</td> - - - - - + <td style="font-family: monospace;">Name of function/method being wrapped</td> </tr> - - - - - <tr> - - - - - <td style="font-family: monospace;">$1...n </td> - - - - - - <td style="font-family: monospace;"> Argument being -sent to the function</td> - - - - - + <td style="font-family: monospace;">Argument being sent to the function</td> </tr> @@ -6763,80 +6730,21 @@ <tr> - - - - - <td style="font-family: monospace;">$result</td> - - - - - - <td style="font-family: monospace;">Result that the -director function returns</td> - - - - - + <td style="font-family: monospace;">Result that the director function returns</td> </tr> - - - - - <tr> - - - - - + <td style="font-family: monospace;">$input</td> + <td style="font-family: monospace;">Ruby object being sent to the function</td> + </tr> + <tr> <td style="font-family: monospace;">$symname</td> - - - - - - <td style="font-family: monospace;">name of the -function/method being wrapped</td> - - - - - + <td style="font-family: monospace;">name of the function/method being wrapped</td> </tr> - - - - - <tr> - - - - - <td style="font-family: monospace;">$1...n</td> - - - - - - <td style="font-family: monospace;">Argument being -sent to the function</td> - - - - - + <td style="font-family: monospace;">Argument being sent to the function</td> </tr> - - - - - <tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |