[英]How do I use FileTemplate as a substitute for Splice to export Mathematica expressions into Fortran?
我發現 Mathematica 中的 Splice 功能在過去非常有用。 我正在嘗試將針對 Fortran 格式化的 mathematica 表達式插入到 Fotran 代碼中。
有沒有人願意分享一個小的工作示例? 謝謝。
我可以編寫 Mathematica 代碼
y=x^3
並構建一個文件 test.fm
program test
real x,y
x=1.0
y=
- <* y *>
write(6,*) "y",y
end
和數學線 Splice["test.fm"] 會給出一個文件 test.f 與
program test
real x,y
x=1.0
y=
- x**3
write(6,*) "y",y
end
顯然,在最近的 Mathematica 版本中刪除了 Splice 的這種使用,我收到一條錯誤消息
The function Splice with filename inputs is now obsolete and has been
superseded by FileTemplate.
我試過
FileTemplate["test.mf"]
但它返回的東西顯然需要進一步輸出。 然后我嘗試了
TemplateApply[FileTemplate["my.fm"]]
但這也沒有用。
FileTemplate
生成您需要應用的TemplateObject
表達式。 這是一個使用您的代碼和StringTemplate
的示例應用程序,它同樣會生成一個TemplateObject
表達式。
Clear[x]
y = x^3
StringTemplate[" program test
real x,y
x=1.0
y=
- <* y *>
write(6,*) \"y\",y
end", InsertionFunction -> ToString@*FortranForm][<|"y" -> y|>]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.