基本对象
Part[expr,i1,i2,…]、expr[[i1,i2,…]] 或者 Extract[expr,{i1,i2,…}] 通过连续提取索引为 i1,i2,… 的子表达式的各组成部分,找到 expr 的相应的块. 如果用户把表达式当作树来考虑,索引就指明了当用户从树的根节点开始往下搜索的时候,在每个节点应该选择哪个分支.
一旦创建,Wolfram 语言中的普通字符便持续存在,除非使用 Remove 明确删除它. 然而,在作用域结构如 Module 中自动创建的符号具有属性 Temporary,该属性指明一旦它们不在任何表达式中出现时,将自动删除它们.
当创建一个新符号的时候,Wolfram 语言首先把任何赋给 $NewSymbol 的值应用于作为符号名的字符串,以及创建符号所在的上下文.
如果打开消息 General::newsym,那么 Wolfram 语言报告创建的新符号. 默认情况下,该消息被关闭. 不报告在作用域结构中自动创建的符号.
在 Wolfram 语言中的任何符号的全名包括两个部分:上下文和短名. 全名以 context`name 的形式给出. 上下文 context` 可以包括与短名相同的字符. 它可能包含任何数目的上下文标记字符 `,并且必须使用上下文标记结束.
在一个 Wolfram 语言会话的任何位置,有一个现有上下文 $Context 和包含上下文列表的上下文搜索路径 $ContextPath. 在现有上下文或上下文搜索路径的上下文中的符号,可以通过只给出它们的短名来指定,如果它们没有被具有相同短名的其它符号所屏蔽的话.
name | |
`name | 只搜索 $Context ;如果必要的话,在该位置创建 |
context`name | 只搜索 context;如果必要的话,在该位置创建 |
`context`name | 只搜索 $Context`context;如果必要的话,在该位置创建 |
使用 Wolfram 语言程序包,按照惯例,它与名称对应于程序包名的上下文相联系. 程序包通常使用 BeginPackage 和 EndPackage 在合适的上下文中定义对象,并且把上下文加入到全局 $ContextPath 中. 对于任何在程序包中创建、但是在上下文搜索路径中被现存符号所“屏蔽”的符号,EndPackage 显示警告信息.
Symbol | 符号(使用 SymbolName 获取名称) |
String | 字符字符串 "cccc" (使用 Characters 获取字符) |
Integer | 整数(使用 IntegerDigits 获取数字) |
Real | 近似实数(使用 RealDigits 获取数字) |
Rational | 有理数(使用 Numerator 和 Denominator 获取各部) |
Complex |
在 Wolfram 语言中有两种近似实数的类型:任意精度(arbitrary precision)和机器精度(machine precision). 在处理任意精度数时,Wolfram 语言试图修改精度,以确保所有数位都是准确的.
除非特别指明,Wolfram 语言把所有位于 $MinMachineNumber 和 $MaxMachineNumber 之间、并且输入小于 $MachinePrecision 数位的近似实数作为机器精度数处理.
在 Wolfram 语言的任意实现中,数的幅度(除了0)必须位于 $MinNumber 和 $MaxNumber 之间. 幅度在此之外的数字由 Underflow[] 和 Overflow[] 表示.