【问题标题】:What's wrong with this mathematica Return[]这个数学有什么问题 Return[]
【发布时间】:2012-09-29 07:34:17
【问题描述】:

我试图弄清楚如何在数组定义中使用 Return[]。为了了解这一点,我正在尝试创建一个长度为 5 的数组,其中每个元素都是数字 10。这是我的代码:

Array[Function[Return[10];], 5]

这是输出:

{Return[10], Return[10], Return[10], Return[10], Return[10]}

出了什么问题?为什么 Return[10] 不解析为平面旧的简单 10?

提前致谢!

【问题讨论】:

  • 因为你使用了[Function[Return[10]], 5],因此是5 [Return[10]
  • 所以从我的角度来看,我正在编写一个函数,该函数返回一个值,该值为 5。为什么不正确?在这种情况下,您将如何使用退货声明。我习惯了 Java 和 javascript,其中 (function(){return 5;})() 可以完成工作。
  • 这是Return[] .. Print@Do[For[i = 1, i < 10, i++, If[i > 5, Return[3], Print@i]], {10}]; 的案例使用
  • 请阅读this discussion

标签: arrays wolfram-mathematica return


【解决方案1】:

您需要使用 second argument 指定要从哪个 Head 返回:

Array[Function[Return[10, CompoundExpression];], 5]
{10, 10, 10, 10, 10}

请参阅 Leonid Shifrin 的this answer,了解Return 的基本功能。

请参阅此精美的自我问答,以进一步探索第二个论点(几乎没有记录):

What can be used as the second argument to Return on your own functions?

【讨论】:

    猜你喜欢
    • 2012-03-10
    • 1970-01-01
    • 2020-10-17
    • 2014-12-19
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 2014-06-29
    相关资源
    最近更新 更多