我想编写一些小辅助函数来存储和加载八度音程。
function restoreSession(filename)
history -r strcat('./states/',filename,'.history');
load("-binary", strcat('./states/',filename,'.data'))
endfunction
function saveSession(filename)
history -w strcat('./states/',filename,'.history');
save("-binary", strcat('./states/',filename,'.data'))
endfunction
save / load命令效果很好。 我的问题是,历史命令似乎不能证明这一论点。 它会产生以下错误:
syntax error
>>> history -r strcat('./states/',filename,'.history');
^
我已经尝试为路径使用临时var,但在这种情况下,它只将变量名称解释为filename并抱怨丢失的文件。
有人知道如何解决这个问题吗?
答案 0 :(得分:2)
使用history
和函数语法而不是命令。
history ("-r", strcat ("./states/", filename, ".history"));
所有命令实际上都是功能。命令语法(当你不使用括号时)可用于所有函数,只是对某些函数来说它看起来更自然。省略括号时,所有参数都被解释为字符串,甚至是变量名。如果你想做更好的事情,可以将它们称为功能。