Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic “的合法用途是什么?”;方法“U缺失”-类型功能?_Language Agnostic_Dynamic Languages - Fatal编程技术网

Language agnostic “的合法用途是什么?”;方法“U缺失”-类型功能?

Language agnostic “的合法用途是什么?”;方法“U缺失”-类型功能?,language-agnostic,dynamic-languages,Language Agnostic,Dynamic Languages,Ruby有“method_missing”,Tcl有“unknown”,大多数高度动态的语言都有一个等价的构造,在调用未定义的方法时调用该构造。 添加这样的功能非常有意义;有些事情需要发生,没有理由不让程序员重新定义这些事情。这是一个非常简单的添加,并且可以进行一些简洁的“检查我的语言能做什么”演示 在实际的应用程序代码中,这种行为在哪里真正有用 我能想到的就是: 在不展开堆栈的情况下启动调试器可能很有用(但我不确定这是否算作“常规应用程序代码”,在大多数情况下,异常也同样有效) 对于“神奇的

Ruby有“method_missing”,Tcl有“unknown”,大多数高度动态的语言都有一个等价的构造,在调用未定义的方法时调用该构造。 添加这样的功能非常有意义;有些事情需要发生,没有理由不让程序员重新定义这些事情。这是一个非常简单的添加,并且可以进行一些简洁的“检查我的语言能做什么”演示

在实际的应用程序代码中,这种行为在哪里真正有用

我能想到的就是:

  • 在不展开堆栈的情况下启动调试器可能很有用(但我不确定这是否算作“常规应用程序代码”,在大多数情况下,异常也同样有效)
  • 对于“神奇的”代理对象。。ie是一个懒惰的对象,在第一次使用时创建或加载,而不改变接口(尽管通过其他方式这似乎很容易做到)
还有其他合法用途吗


澄清:我真的不认为“语法糖,以避免不得不引用报价”是一个合理的使用。其他人可能会,我不会。

实现动态Web服务客户端

  • 在上添加更好的调试信息 失败
  • 在方法名中编码参数
  • 构建器、访问器、代理 授权