0
convert(file.ext,string)
Mapleの現在のバージョンの使用状況によって異なる結果が表示されます。 Maple v14では "file.ext"が与えられますが、Maple v15では "file。ext"(ポイントの前後にスペースがあります)が与えられます。誰も私にこれを説明できますか?前もって感謝します。Mapleの文字列に変換する15
convert(file.ext,string)
Mapleの現在のバージョンの使用状況によって異なる結果が表示されます。 Maple v14では "file.ext"が与えられますが、Maple v15では "file。ext"(ポイントの前後にスペースがあります)が与えられます。誰も私にこれを説明できますか?前もって感謝します。Mapleの文字列に変換する15
はい、違いはありますが、この方法で文字列を形成する手法が誤っていることが重要です。
は、コマンドconvert
、そして何そのルーチンが、ここで最初の引数として見ている名前ext
と名前file
の(noncommutating)乗算の結果であるため、特別な(遅延)評価規則はありません。それで、文字列に連結するのは本当に素晴らしい方法ではありません。最初は慎重に連結することではないからです。
代替手段があります。単一の名前に連結し、それを文字列に変換するか、文字列に直接連結することができます(コマンド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"