drweb
June 10, 2008, 4:21pm
1
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
drweb
June 10, 2008, 5:02pm
2
2008/6/10 Michel S. [email protected] :
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
drweb
June 10, 2008, 6:08pm
3
Robert K. wrote:
2008/6/10 Michel S. [email protected] :
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.
drweb
June 10, 2008, 6:21pm
4
-------- Original-Nachricht --------
Datum: Wed, 11 Jun 2008 01:11:42 +0900
Von: Michel S. [email protected]
An: [email protected]
Betreff: Re: Making separate File
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
drweb
June 10, 2008, 7:24pm
5
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
drweb
June 10, 2008, 7:37pm
6
-------- Original-Nachricht --------
Datum: Wed, 11 Jun 2008 02:24:45 +0900
Von: Michel S. [email protected]
An: [email protected]
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
drweb
June 10, 2008, 8:11pm
7
On 10.06.2008 19:37, Axel E. wrote:
-------- Original-Nachricht --------
Datum: Wed, 11 Jun 2008 02:24:45 +0900
Von: Michel S. [email protected]
An: [email protected]
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
Or just do
test = IO.read(sourcefile)
Cheers
robert