读取和附加Sage文件

下面我们演示如何将单独编写的文件读取到Sage中。 新建文件example.sage,包含以下内容:

  1. print("Hello World")
  2. print(2^3)

你可以使用load命令读取和执行example.sage文件:

  1. sage: load "example.sage"
  2. Hello World
  3. 8

你也可以用attach命令,在当前运行的会话后面附加一个Sage文件:

  1. sage: attach "example.sage"
  2. Hello World
  3. 8

现在如果你修改example.sage并输入了一个空白行(即,按return), 那么example.sage的内容将会自动重新读入Sage。

特别的, 当文件被修改后,attach会自动重载,这在调试代码的时候很方便。而load只能读入一个文件一次。

当Sage读入example.sage时,将其转为Python,之后由Python解释器执行。对源文件的是很少的,主要是将字面上的整数转为Integer(), 字面上的实数转为RealNumber(), 将^替换为**, 以及类似R.2转为R.gen(2)的这种替换。 转换后的example.sageexample.sage.py并保存在相同的目录下。 这个文件包含以下代码:

  1. print("Hello World")
  2. print(Integer(2)**Integer(3))

字面整数被转换,^替换为**. (Python中,^表示”异或”,**表示”乘方”。)

预分词工作是由sage/misc/interpreter.py实现的。

你可以把多行已缩进的代码粘贴到Sage中,只要有一个新行标识代码块的结束(这在文件中是不需要的)。然而,将这样的代码输入Sage的最好方法是保存为文件,并使用attach命令。