我想学习一些关于Vala的知识,并希望创建一个计算器来测试Gtk的工作方式。问题在于,我编码时所有东西都是基于这样的假设:有一种方法可以解析包含所需操作的字符串。就像这样:
string operation = "5+2/3*4"
我已经用Python完成了这项工作,只需要使用编译器解析器就可以了。我知道Python是面向数学的,但是我想也许会有一个Vala库等着我去发现......如果确实存在,我还没有找到它,但当我查看字符串文档时,我注意到了这一部分:
/* Strings prefixed with '@' are string templates. They can evaluate
* embedded variables and expressions prefixed with '$'.
* Since Vala 0.7.8.
*/
string name = "Dave";
println (@"Good morning, $name!");
println (@"4 + 3 = $(4 + 3)");
所以...我想也许有一种方法可以使它按照这种方式工作,可能像这样:
stdout.printf(@"$(operation)")
我理解这不是一个准确的假设,因为它只会替换变量并需要进一步步骤来实际评估它。
目前我有两个主要疑问:a)是否有能够执行此操作的库函数?b)是否可以使用字符串模板找出解决方案?