2008/5/26  <hongseok.yoon / gmail.com>:
> I'd like to make sort of a comment remover for C++.
>
> If there's a source file like bellow...
>
> <source.txt>
> // 1234
> 12//34
> ///1234
> 12///34
>
> and my code is...
>
> file = open("source.txt", "r")
> file.each_line {|line|
>   if line.match /(.*)\/\//
>      puts $1 if $1.length > 0
>   end
> }
> file.close
>
> result is...
>
> 12
>  /
> 12/
>
> but!, what I expected is~
>
> 12
> 12
>
> What's wrong with this code...(I think I may not understand regular
> expression totally...) and what should I do for this?

Additional remarks: using the block form of File.open is usually
better because code will be more robust. Here's another solution:

File.foreach "source.txt" do |line|
  puts line.sub(%r{//.*}, '')
end

Kind regards

robert

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