最近在做 ComputationalOptics包 的时候为了把 LightField
实现为一个比较典型的Wolfram语言风格的对象,使用了很多undocumented方法,这里主要是做一下记录。
需要注意的是,这里的“对象”不是指“面向对象”里所说的对象(虽然也有点关系),而是类似于 Entity
或者 TemporalData
这类的对象。
最近在做 ComputationalOptics包 的时候为了把 LightField
实现为一个比较典型的Wolfram语言风格的对象,使用了很多undocumented方法,这里主要是做一下记录。
需要注意的是,这里的“对象”不是指“面向对象”里所说的对象(虽然也有点关系),而是类似于 Entity
或者 TemporalData
这类的对象。
Mathematica 通常被宣传为 符号式 、 函数式 的编程语言,不过 维基百科 宣称它支持 13种编程范式,其中还包括 面向对象 编程。尽管大家似乎都不把 Mathematica 当编程语言,不过出于兴趣,也为了提升对 Mathematica 语言特性和面向对象的理解,于是有了这篇文章。
比较理想的情况是能够以类似 C++ 或者 Java 那样的形式来创建和使用类与对象,以此为目标进行设计。
在我的常用软件中,Google Chrome 和 Notepad++ 都可以做到拖拽标签页在标签栏移动,在两个窗口间移动,以及创建新的窗口。作为 这个项目 的一部分,打算实现一个功能类似的 Tab Widget 。