代码之家  ›  专栏  ›  技术社区  ›  Thom Smith

VBScipt:调用被全局变量隐藏的内置函数

  •  0
  • Thom Smith  · 技术社区  · 15 年前

    编辑:谢谢你的回复。由于您的提问,全局变量“Int”(尽管很不幸,vbscript不区分大小写)是一个类似于Java的Integer类的工厂。默认属性本质上是一个单参数构造函数;i、 e.“Int(42)”生成一个新的IntClass对象,该对象包含42。IntClass的默认属性只返回原始数字。

    创建者试图解决缺少合适的名称空间和静态方法的问题,而解决方案实际上是无缝的。传入一个预期为int的IntClass,它将自动触发默认属性。我试图修补剩下的最后一个接缝:调用“int”的外部代码将无法正确舍入(因为构造函数使用CLng)。

    3 回复  |  直到 15 年前
        1
  •  3
  •   Joost Moesker    15 年前

    据我所知,getref只在自定义函数上工作,而不在内置函数上工作。我建议重命名自定义“int”函数,并更新对该自定义函数的所有引用。您可以使用visual studio(express)的搜索功能或您喜欢的任何其他工具来完成此任务。不应该有太多的工作。

        2
  •  0
  •   inked    15 年前

    我认为函数名或变量不允许使用保留字。

    邓肯森是对的。做痛苦和痛苦的事。很可能有比这更糟糕的事情发生。

        3
  •  0
  •   Eduardo Molteni    15 年前

    或者你可以使用 CInt 相反地 Int

    response.write trim(cint(3.14)) + "<br>"
    

    错!!