What's different about defind class method?

A.class_eval(<<-EOF, __FILE__, __LINE__)
  def method_a
   puts "calling method_a......"
  end
EOF

A.class_eval <<-EOF
def method_b
   puts "calling method_b......"
end
EOF

A.new.method_a
A.new.method_b

Why lot of Rails snippet code use __FILE__ __LINE__

···

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

bill gate wrote in post #1064388:

Why lot of Rails snippet code use __FILE__ __LINE__

__FILE__ and __LINE__ are magic constants. They point to the file/line
they're in.

In combination with class_eval these constants can be used to produce
exact error messages. If you don't use them, an error message within the
class_eval will only display the file and line of the "class_eval"
(rather than the file and line of the actual string).

See

···

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

Jan E. wrote in post #1064399:

bill gate wrote in post #1064388:

Why lot of Rails snippet code use __FILE__ __LINE__

__FILE__ and __LINE__ are magic constants. They point to the file/line
they're in.

In combination with class_eval these constants can be used to produce
exact error messages. If you don't use them, an error message within the
class_eval will only display the file and line of the "class_eval".

See
Class: Module (Ruby 1.9.3)

Greate, Thank you.

···

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