gpt4 book ai didi

layout - Mathematica 中的最佳代码布局?

转载 作者:行者123 更新时间:2023-12-02 04:51:44 25 4
gpt4 key购买 nike

我现在在这个论坛上看到了不同的优雅的代码布局方式。

作为一名初学者,我希望获得您关于布局代码的最佳方式的建议,如下所示。

它很丑陋,不是最佳的,甚至可能是愚蠢的,但请专家程序员原谅我,我将其用作“最坏的情况”。

对于新手来说,我的目标是清晰。

rejection[disp_, fixationNOtoConsiderForDuration_, durationLimit_, 
minDistance_] :=

With[{fakedata = consider[t4dataLAEH10, 9, disp, {17, 18, 11}]},

With[{num =
Flatten[Position[
Take[fakedata[[All, 3]], fixationNOtoConsiderForDuration],
x_ /; (x > durationLimit)]]},

If[num =!= {},
With[{fakedata1 = Drop[fakedata[[All, {1, 2}]], Last@num]},
With[{num1 =
Flatten[Position[
Table[
Sqrt[((fakedata1[[fixation1, 1]] -
centerX)^2 + (fakedata1[[fixation1, 2]] -
centerY)^2)],
{fixation1, 1, Length@fakedata1}],
x_ /; (x < minDistance)]]},

If[num1 =!= {},
Delete[fakedata1[[All, {1, 2}]], List /@ num1],
fakedata[[All, {1, 2}]]]]],
With[{fakedata2 = fakedata[[All, {1, 2}]]},
With[{num2 =
Flatten[Position[
Table[
Sqrt[((fakedata2[[fixation2, 1]] -
centerX)^2 + (fakedata2[[fixation2, 2]] -
centerY)^2)],
{fixation2, 1, Length@fakedata2}],
x_ /; (x < minDistance)]]},
If[num2 =!= {},
Delete[fakedata2[[All, {1, 2}]], List /@ num2],
fakedata[[All, {1, 2}]]]]]]]]

enter image description here

最佳答案

  • 对于上面的代码,我会将 Flatten[Position[...]] 拆分为一个单独的函数。

  • 我还会使用单个作用域构造,而不是嵌套的 With

喜欢:

Block[{fakedata, fakedata1, fakedata2, num, result},
fakedata = ...;
num = ...;

If[num =!= {},
fakedata1 = ...;
result = localPoints[fakedata1];
];

num1 = ...;
If[num1 =!= {},
fakedata2 = ...;
result = localPoints[fakedata2];
];

result
]
  • 我不喜欢在代码中使用排版(下标、上标、平方根等),因为对我来说,这往往是文本环境(无论是工作台、电子邮件还是网络, ...)在其他地方,这都是公平的游戏。

关于layout - Mathematica 中的最佳代码布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6322526/

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