模板引擎/ 模板语言是完整的?到目前为止我听说过这些:
其他任何人(特别是用perl实现)?
Ps:不要浪费时间向我澄清MVC,以及为什么图腾完整模板不好,以及为什么这不是一个有用的比较点:)
答案 0 :(得分:3)
eRuby允许您将任意Ruby嵌入到模板中:
$ echo "Hello <%= 'dlrow'.reverse() %> from eRuby" | erb
Hello world from eRuby
答案 1 :(得分:3)
如果设置了EVAL_PERL标志,则Perl的Template::Toolkit允许inlining of Perl。在模板中,PERL和RAWPERL块允许内联(在RAWPERL的情况下)内部暴露内联,内联代码通过eval()
(引用的eval)进行评估。这提供了对Perl解释器的完全访问权限。
Perl本身被认为有Turing Complete grammar。因此,鉴于Template :: Toolkit确实提供了对Perl本身的访问,模板系统继承了该特性。
虽然将EVAL_PERL设置为允许在模板中内联Perl被认为是一种高级(并且可能很少使用)功能,但它可用于强心(并且可疑的)。
答案 2 :(得分:0)
几乎任何允许程序代码计算模板结果的东西。
答案 3 :(得分:0)
大多数meta-programming language功能支持任意评估和将代码拼接到正在运行的程序中。因此,大多数支持图灵完成计算作为拼接和替换执行的一部分。
另一方面,简单的字符串插值元编程系统通常受到严格限制(例如,没有递归)。