gpt4 book ai didi

ruby - 为什么一些未初始化的变量会导致错误,而其他变量会导致警告?

转载 作者:太空宇宙 更新时间:2023-11-03 16:09:26 25 4
gpt4 key购买 nike

博文Uninitialized variables指出未初始化的类变量、局部变量和常量会导致异常(在通过 method_missing 或它们的等效方法之后),而未初始化的全局变量和实例变量只会导致警告。

是否存在哪些逻辑导致异常,哪些仅导致警告?

最佳答案

我的猜测是,在元编程中可能有用时会提供异常。如果发现缺少全局变量或实例变量,您可以轻松实例化它——我经常看到这个成语:

@var ||= 'default_value'

不需要任何花哨的东西。

对于类,其他常量和方法,检查它们是否被定义并内联使用它们是比较尴尬的。异常(以及相关的方法,如 const_missingmethod_missing 提供了钩子(Hook)来处理它们的缺失。例如,我相信 Rails 使用 const_missing 来加载类在运行时。

关于ruby - 为什么一些未初始化的变量会导致错误,而其他变量会导致警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com