fel*_*lix 15 struct types wolfram-mathematica
在使用Mathematica的符号和数字功能之后,我发现它也是一种不错的编程语言.但是,作为通用语言使其不那么吸引人的东西是缺少类似C的结构数据类型(或Pascal中已知的记录类型).我怎样才能解决这个问题?
sak*_*kra 15
更新:Mathematica 10已经推出Association,它具有许多最重要的属性struct.(见新答案.)这个答案的原始的,有点弃用的版本如下.
您可以使用Mathematica规则列表来模拟类似C的struct数据类型.例如,:
person = {firstName -> "John", lastName -> "Doe"}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用/.运算符访问记录的字段:
firstName /. person
Run Code Online (Sandbox Code Playgroud)
收益率John.
lastName /. person
Run Code Online (Sandbox Code Playgroud)
收益率Doe.
要更新记录的字段,请将更新的字段添加到列表中:
PrependTo[person , firstName -> "Jane"]
Run Code Online (Sandbox Code Playgroud)
firstName /. person然后收益率Jane.
另请参阅有关转换规则的Mathematica文档.
如果我正确理解你的问题,你可以简单地写下这样的事情:
x[foo] = bar x[bar] = baz x[1] = 7 x[7] = 1 ?x
然后访问任何特定索引的数据只需键入相同的内容(例如,x[1]将返回7,x[foo]将返回bar).
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |