我怀疑甚至可能有一个数学证明,答案是“不”,但是,问题:是否可以发明一种类似php的语言(即用一些线来评估幕后的代码,以及一些评估显示html的行,它总是可以正确嵌套?举一个我正在谈论的例子,在rails / haml
中%table
%tr
%th Title
%th Content
%th Owner
%th Categories
- @posts.each do |post|
%tr
%td
第二个%tr应该与第一个垂直对齐(因为它们是输出html中的兄弟),但是从每个块开始的行会导致它缩进一行。是否有可能某人可以开发某种html元语言,其中缩进可以反映控制结构和适当的嵌套,而不会每个都与另一个发生冲突?如果是的话,这样的事情是否存在?
答案 0 :(得分:0)
我可以想办法。编译器/解释器只需要做出一些仔细和明确概述的假设。
例如,假设控制结构的缩进被删除以解释页面结构,那么上面的代码会将数据%tr
置于与%td
相同的缩进级别。请注意,这会使一些页面结构难以阅读。
另一个例子,使控制结构语法与给定缩进级别的页面结构共存。控制结构可以单独存在,也可以在页面结构语句之后存在。这样做的优点是在代码和页面结构方面都具有可读性。
%table
%tr
%th Title
%th Content
%th Owner
%th Categories
%tr @posts.each do |post|
%td