- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Leonid 在他的书的第四章中写道:“...Module、Block 和 With。这些结构在 Mathematica Book 和 Mathematica Help 中有详细解释,所以我在这里简单介绍一下它们。... ”
根据我读到的(能够找到的)我仍然处于黑暗之中。对于打包函数,我(简单地)使用模块,因为它可以工作并且我知道其构造。但这可能不是最好的选择。我并不完全清楚(从文档中)何时、何地或为何使用 With (或 Block)。
最佳答案
Block
和 Module
之间更实际的区别可以在这里看到:
Module[{x}, x]
Block[{x}, x]
(*
-> x$1979
x
*)
因此,如果您希望返回例如x
,则可以使用Block
。例如,
Plot[D[Sin[x], x], {x, 0, 10}]
不起作用;为了使其工作,可以使用
Plot[Block[{x}, D[Sin[x], x]], {x, 0, 10}]
(当然这并不理想,这只是一个例子)。
另一种用法类似于 Block[{$RecursionLimit = 1000},...]
,它会暂时更改 $RecursionLimit
(Module
不会起作用,因为它重命名了 $RecursionLimit
)。
还可以使用Block
来阻止对某些内容的评估,例如
Block[{Sin}, Sin[.5]] // Trace
(*
-> {Block[{Sin},Sin[0.5]],Sin[0.5],0.479426}
*)
即,它返回 Sin[0.5]
,仅在 Block
完成执行后才进行计算。这是因为Block
内的Sin
只是一个符号,而不是正弦函数。你甚至可以做类似的事情
Block[{Sin = Cos[#/4] &}, Sin[Pi]]
(*
-> 1/Sqrt[2]
*)
(使用Trace
来查看它是如何工作的)。因此,您也可以使用 Block
在本地重新定义内置函数:
Block[{Plus = Times}, 3 + 2]
(*
-> 6
*)
关于wolfram-mathematica - Mathematica 模块与 With 或 Block - 使用指南、经验法则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6661393/
我正在为一个类(class)项目制作一个 C# 应用程序。我想确保一个字符串具有三个值之一。通常,在网络应用程序中,我会在客户端使用 javascript 进行验证。但是,这目前是一个控制台应用程序。
我注意到了 int i=10000000; boolean isPrime= false; while(!isPrime){ i++; Syst
一般来说,类构造函数应该接受的最大参数数量是多少?我正在开发一个需要大量初始化数据(目前有 10 个参数)的类。但是,带有 10 个参数的构造函数感觉不对。这让我相信我应该为每条数据创建一个 gett
改善网页加载时间的一种方法是内联其 css - 因为 css 会阻塞渲染。但是,内联 css 会阻止浏览器缓存它。因此,一般建议仅内联“小”css。 但是什么才算“小”呢?我在网上搜索了一些经验法则,
我正在尝试了解如何正确使用 Java 的执行器。我意识到将任务提交给 ExecutorService 有其自身的开销。但是,我很惊讶地看到它竟然这么高。 我的程序需要以尽可能低的延迟处理大量数据(股票
我读过几篇 GWT 开发人员博客,其中提到了一些“经验法则”,即如果生成的 JavaScript 代码达到 100 行或更多,最好自己编写 JavaScript(而不是通过 GWT 生成它) . 我的
最近我偶然发现了一个非常大的性能改进——我说的是 4 倍的改进——只需更改一行代码。我刚刚将 std::sort 调用更改为 concurrency_parallel 排序 // Get a cont
我在 javascript 中使用 setTimeout() 函数来允许在解析一些 xml 数据时显示一个显示“正在加载”的弹出窗口。我发现,在足够小的延迟值(低于 10 毫秒)下,在浏览器卡住一段时
Leonid 在他的书的第四章中写道:“...Module、Block 和 With。这些结构在 Mathematica Book 和 Mathematica Help 中有详细解释,所以我在这里简单
我是一名优秀的程序员,十分优秀!