gpt4 book ai didi

smalltalk - 从概念上讲,Smalltalk pragma 是什么?

转载 作者:行者123 更新时间:2023-12-04 05:39:01 24 4
gpt4 key购买 nike

我在 Pharo Smalltalk 中使用了 pragma,并且对它们的工作原理有所了解,并查看了在 Pharo 中使用它们的示例。

我的问题是:

  • 在概念上什么是编译指示,
  • 他们在其他语言中比较什么结构,
  • 我什么时候应该引入一个pragma?

  • 我已经找到了一篇关于他们历史的有趣文章: The history of VW Pragmas .

    最佳答案

    您必须将其视为附加到 CompiledMethod 的注释,或者如果您想要作为附加属性。

    然后,由于反射,一些工具可以遍历其他已编译的方法,收集具有某些注释(属性)的方法并应用一些特殊处理,例如构建菜单、首选项列表或其他 UI,调用标记为 #initializer 的每个类方法,或者某些机制可能会返回堆栈,直到方法被标记为#exceptionHandler ...

    有很多可能性,由您来发明自己的元属性...

    编辑

    对于第二点,我不知道,它必须是一种可以枚举方法的语言,并且可以对其附加属性。

    第三点也很难回答。在实践中,我会说你会使用一些已经存在的注解,但很少创建一个新的注解,除非你试图创建一个新的异常处理框架,或者一个新的 GUI 框架(你想注册一些已知事件或一些处理程序...)。我会看到的主要用途是扩展、组合具有不相关部分的应用程序,例如主菜单。与重写众所周知的方法 TheWorld>>mainMenu 的侵入性方式相比,引入 DECLARATIVE 钩子(Hook)似乎是一种相对非侵入性的方式。它也比在类初始化/卸载时通过传统消息发送立即注册/取消注册要轻一些。另一方面,魔法更隐蔽。

    关于smalltalk - 从概念上讲,Smalltalk pragma 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19960224/

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