在Maple 15中转换为字符串

时间:2012-04-01 11:58:24

标签: string version maple

convert(file.ext,string)

根据Maple当前使用的版本给出不同的结果。在Maple v14中给出了“file.ext”,但是在Maple v15中给出了“file.ext”(在点之前和之后有空格)。谁能解释一下这个?提前谢谢。

1 个答案:

答案 0 :(得分:1)

是的,存在差异,但更重要的是以这种方式形成字符串的方法是错误的。

命令convert没有特殊的(延迟的)评估规则,这个例程在这里看到的第一个参数是名称file与(非交换)乘法的结果名称ext。所以这并不是连接字符串的好方法,因为它的目的不是首先仔细连接。

还有其他选择。您可以连接到单个名称,然后将其转换为字符串,或者您可以直接连接到字符串(对于该字符串,convert / string命令不是最佳的)。

 # I'm supposing that one does want the name`file` assigned
 file:=myproject:

 # Now suppose that one wants the result "myproject.for"
 ext:=`for`:

 convert(file.ext,string); # whoops
                  "myproject . `for`"

 cat(file,".",ext); # produces the name `myproject.for`
                     myproject.for

 convert(%,string);
                    "myproject.for"

 sprintf("%a.%s",file,ext);
                    "myproject.for"