ASP Classic 上的 VBScript 包含一个“int”函数。(它向 -∞ 方向舍入数字。)假设某个过于“聪明”的编码人员创建了一个名为“int”的全局变量。有没有办法获得原始功能?我已经用范围界定和狡猾的高管尝试了各种解决方法,但没有骰子。我怀疑这是不可能的,但我希望有人会比我更了解它。
编辑:感谢您的回复。既然你们都问过,名为“Int”的全局变量(不幸的是,vbscript 不区分大小写)是类似于 Java 的 Integer 的类的工厂。默认属性本质上是一个单参数构造函数;即“Int(42)”产生一个新的 IntClass 对象,它持有 42。IntClass 的默认属性反过来简单地返回原始数字。
创建者试图解决缺乏适当的命名空间和静态方法的问题,并且该解决方案实际上非常无缝。传入一个需要 int 的 IntClass,它将自动触发默认属性。我正在尝试修补最后剩下的接缝:调用“int”的外部代码将无法正确舍入(因为构造函数使用 CLng)。