gpt4 book ai didi

wolfram-mathematica - Message 内部逻辑

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

我试图弄清楚 Message 的逻辑行为。

考虑评估以下内容:

On[]
Sin[1,1]

在评估上述内容后,您将获得大约 830 (!) Messages (在 Mathematica 7 中)。

所有这些 Messages在制作过程中出现:
Sin::argx: Sin called with 2 arguments; 1 argument is expected. >>

(这是最后一个 Message )。

最后 Message
Message::trace: Message[Sin::argx,Sin,2] --> Null. >>

对应于完成内部 Mathematica 的工作 Message功能。其他大部分 Messages$NewMessage 的评估开始和 $MessagePrePrint .

我的问题是:

1)为什么 Message没有无限循环一代?如果调用 Message[Sin::argx,Sin,2]生产超过 830 个其他 Messages为什么他们每个人都不会产生相似数量的 Messages ?如何模拟这种行为(通过编写 Message 的模拟)?

2) 是否可以强制 Message不要产生任何额外的 Messages在跟踪模式下调用它时(我的意思是评估后的模式 On[] )?

最佳答案

我不明白为什么必须打开所有带有 On 的消息.您不仅可以激活您需要的子集。 On 的引用页在“更多信息”部分中列出了您可能会发现有用的各种类别。如果您选择按照说明继续,您可以通过在 On[] 之后立即关闭跟踪消息来抑制跟踪消息。 :

On[]; Off[General::trace];
Sin[1, 1]

这仅输出两条消息。因此,您看到的 830 条消息是::trace 消息,它们源自执行某些不一定与消息相关的顶级代码,可能是排版...

关于wolfram-mathematica - Message 内部逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5772277/

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