Making separate File

Hello,
The given two classes (TestClass1 and TestClass2) are in a single ruby
code. I want a code that separate both classes and save them into 2
diffrent ruby files.

E.g

Orginal code "test.rb" (contains the classes)
after executing

one file for 1 class "class1.rb"
second file for second class "class2.rb"
and so on...

I would be very thankful to you dear

···

-------------------------

class TestClass1

     def method1(a,b)
        sum = a + b
        puts sum
     end

     def method2(*c)
        l = c.length
        puts l
     end
end
--------------
class TestClass2

     def method1(a,b)
        sum = a + b
        puts sum
     end

     def method2(*c)
        l = c.length
        puts l
     end
end
--
Posted via http://www.ruby-forum.com/.

For what exactly? I mean, opening two files in an editor and copy +
pasting the code there can't be that hard, can it?

Cheers

robert

···

2008/6/10 Michel Son <zul_haq@hotmail.com>:

The given two classes (TestClass1 and TestClass2) are in a single ruby
code. I want a code that separate both classes and save them into 2
diffrent ruby files.

E.g

Orginal code "test.rb" (contains the classes)
after executing

one file for 1 class "class1.rb"
second file for second class "class2.rb"
and so on...

I would be very thankful to you dear

--
use.inject do |as, often| as.you_can - without end

Robert Klemme wrote:

···

2008/6/10 Michel Son <zul_haq@hotmail.com>:

second file for second class "class2.rb"
and so on...

I would be very thankful to you dear

For what exactly? I mean, opening two files in an editor and copy +
pasting the code there can't be that hard, can it?

Cheers

robert

Without opening them. It should seprate the code based on "class"
keyword and storing it in other file using ruby code.
--
Posted via http://www.ruby-forum.com/\.

-------- Original-Nachricht --------

Datum: Wed, 11 Jun 2008 01:11:42 +0900
Von: Michel Son <zul_haq@hotmail.com>
An: ruby-talk@ruby-lang.org
Betreff: Re: Making separate File

Robert Klemme wrote:
>> second file for second class "class2.rb"
>> and so on...
>>
>> I would be very thankful to you dear
>
> For what exactly? I mean, opening two files in an editor and copy +
> pasting the code there can't be that hard, can it?
>
> Cheers
>
> robert

Without opening them. It should seprate the code based on "class"
keyword and storing it in other file using ruby code.
--
Posted via http://www.ruby-forum.com/\.

Michel,

supposing that the original code is in "sourcefile", and that there is no text in between
the classes, you can use something like this:

text=IO.readlines(sourcefile)
classes=text.split(/(?=class )/).delete_if{|text| /^class/.match(text)==nil}
classes.each_with_index{|c_text,i|
    f=File.new("class_file_" + i.to_s + '.rb',"w")
    f.puts c_text
    f.close
}

Best regards,

Axel

···

> 2008/6/10 Michel Son <zul_haq@hotmail.com>:

--
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/?mc=sv_ext_mf@gmx

This error is arises when i run the code:
"private method `split' called for #<Array:0x28402b8> (NoMethodError)"

Actually i am new to ruby thats why i have

···

--
Posted via http://www.ruby-forum.com/.

-------- Original-Nachricht --------

Datum: Wed, 11 Jun 2008 02:24:45 +0900
Von: Michel Son <zul_haq@hotmail.com>
An: ruby-talk@ruby-lang.org
Betreff: Re: Making separate File

This error is arises when i run the code:
"private method `split' called for #<Array:0x28402b8> (NoMethodError)"

Actually i am new to ruby thats why i have

--
Posted via http://www.ruby-forum.com/\.

Michel,

sorry, that was my fault.
You must change the line with IO.readlines to

text=IO.readlines(sourcefile).to_s

Otherwise, text is an Array, but with to_s, it is converted to a String.
And that's what the Regular Expression needs.

Best regards,

Axel

···

--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger

Or just do

test = IO.read(sourcefile)

Cheers

  robert

···

On 10.06.2008 19:37, Axel Etzold wrote:

-------- Original-Nachricht --------

Datum: Wed, 11 Jun 2008 02:24:45 +0900
Von: Michel Son <zul_haq@hotmail.com>
An: ruby-talk@ruby-lang.org
Betreff: Re: Making separate File

This error is arises when i run the code:
"private method `split' called for #<Array:0x28402b8> (NoMethodError)"

Actually i am new to ruby thats why i have

sorry, that was my fault.
You must change the line with IO.readlines to

text=IO.readlines(sourcefile).to_s