关于几个Julia的新手 Mathematica重度玩家问题

有点明白了,是为了区分是函数参数还是闭包里的状态变量。

6啊,可以写一个包啊你们,MMA.jl,帮助你们转移MMA历史代码(逃

[1 2 3]相当于 [1 2 3;],是一个二维数组

1 个赞

3.e Julia里把Vector,1×3 Array{T,2}, 3×1 Array{T,2} 以及它们经过 transpose之后的type分的很清楚,这源自一个非常经典的issue 4774 Taking vector transposes seriously, 有着400+ comments,jiahao在YouTube上有一个talk是总结这个issue的。

如果没时间看的话,可以简单的理解为:有些概念在数学上本质是一个东西,但是到代码里抽象出来可能会有各种各样的问题,尤其像Julia这种强调类型的语言。 “Taking vector transposes seriously”把前面两者之前的差异显式地理清了。

5 个赞

3.b X-ref: RFC: curry underscore arguments to create anonymous functions by stevengj · Pull Request #24990 · JuliaLang/julia · GitHub

这个点确实很难理解

匿名函数为什么不支持变量名也可以匿名?E.g. #->#^2

Have a look at GitHub - c42f/Underscores.jl: Underscore placeholders for convenient closure syntax

MMA对处理解析数学表达式的能力还是没有其他语言可以比的,模式匹配和模式替换太强大了。还有MapAt这种超级方便操作一堆tensor的功能

1 个赞