Ruby与Rails开发:特性、实践与数据库运用
1. Ruby操作符重载
在Ruby中,大多数操作符实际上是接收对象的方法,Ruby使用特殊语法让这些方法看起来像常规操作符。例如:
# 完整方法名加括号
1.+(2)
# 无括号方法
1.+ 2
# Ruby让方法调用看起来像PHP中的操作符
1 + 2
在实际代码中,开发者很少使用 1.+(2) 这种写法,更倾向于 1 + 2 这种简洁语法。不同类可以以不同方式实现相同操作符,如加法操作符 + 对数字执行加法,对字符串执行拼接:
puts 1 + 2
# => 3
puts 'a' + 'b'
# => ab
在PHP中,操作符重载需要Sara Goleman编写的 operator PECL扩展。以下是使用该扩展为自定义类定义操作符的示例:
// 此语法仅在PHP使用operator扩展时可用
class MyClass {
public function __add($value) {
return "MyClass + $value";
}
public function __div($value) {
return "MyClass / $value";
}
}
超级会员免费看
订阅专栏 解锁全文
69

被折叠的 条评论
为什么被折叠?



