july2993 发表于 2011-12-08 23:04

一个问题 Adder.class_eval

在一个类 Adder里的一个函数
       s = "def " + name
      s += ' ;'            #这行改成 s += '\n' 为什么就不行了????????????????????????
      s += ' return @i + '
      s +=digits
      s += ' end'
      
       Adder.class_eval(s)

zuerrong 发表于 2011-12-09 12:52

因为s是一个string目标,它被eval执行。
class的这个eval在编译时不区分换行,而是用";"作为本条statement的结束符号。

2gua 发表于 2011-12-12 09:20

回复 2# zuerrong


    祖儿又捡起了RB了?

Sevk 发表于 2011-12-19 13:05

2gua 发表于 2011-12-21 08:06

楼上,新来的?
页: [1]
查看完整版本: 一个问题 Adder.class_eval