| 赞 | 27  | 
 
| VIP | 400 | 
 
| 好人卡 | 13 | 
 
| 积分 | 17 | 
 
| 经验 | 69730 | 
 
| 最后登录 | 2025-8-2 | 
 
| 在线时间 | 3039 小时 | 
 
 
 
 
 
Lv3.寻梦者 (暗夜天使) 精灵族の天使 
	- 梦石
 - 0 
 
        - 星屑
 - 1707 
 
        - 在线时间
 - 3039 小时
 
        - 注册时间
 - 2007-3-16
 
        - 帖子
 - 33731
 
 
   
 
 | 
	
 本帖最后由 精灵使者 于 2015-3-23 10:50 编辑  
 
- #如果加法被定义为plus(a,b),乘法被定义为multi(a,b)的话,下面会对加法进行重定义
 
 - alias old_plus plus
 
 - def plus(a,b)
 
 - return multi(a , old_plus(a,b))
 
 - end
 
 - plus(2,3)=10
 
 - plus(8,4)=96
 
 - plus(7,2)=63
 
 - plus(6,5)=66
 
 - plus(9,5)=???
 
 - plus(9,5)
 
 - #=>126
 
  复制代码 大概就是这样,重定义了+的运算符吧 
其实大学里有一门数学叫做近世代数里面有这么个说法。 
我们日常生活里的加减法,是在实数域内的加减法。 
你完全可以把“加”或者“乘”进行重新定义,利用自己的定义进行重定义。 
所以一个数值域里面的加法和乘法或者不像我们现在思考的那样简单。 
这个在程序里面应该说是语法糖……吧 |   
 
 
 
 |