-3

これに対する答えが「いいえ」であるという数学的な証明さえあるのではないかと思いますが、質問: あるタイプの php のような言語を発明できますか (つまり、舞台裏でコードを評価するいくつかの行と、表示されたhtmlに評価されます)常に適切にネストされる可能性がありますか? 私が話していることの例を挙げると、rails/haml

%table
  %tr
    %th Title
    %th Content
    %th Owner
    %th Categories
  - @posts.each do |post|
    %tr
      %td

2 番目の %tr は最初の %tr と垂直方向に揃える必要がありますが (出力 html では兄弟であるため)、各ブロックを開始する行により、1 行追加でインデントされます。インデントが制御構造と適切なネストの両方を反映し、それぞれが競合することなく、ある種の html メタ言語を開発できる可能性はありますか? もしそうなら、そのようなものは存在しますか?

4

1 に答える 1

0

いくつかの方法を考えることができます。コンパイラ/インタプリタは、慎重かつ明示的に概説されているいくつかの仮定を行うだけで済みます。

たとえば、ページ構造を解釈するために制御構造のインデントが削除されていると仮定すると、上記のコード%tr%td. これにより、ページ構造の一部が読みにくくなることに注意してください。

別の例として、制御構造構文を特定のインデント レベルでページ構造と共存させます。制御構造は、単独で、またはページ構造ステートメントの後に存在できます。これには、コードとページ構造の両方の観点から読みやすいという利点があります。

%table  
  %tr  
    %th Title  
    %th Content  
    %th Owner  
    %th Categories  
  %tr @posts.each do |post|     
    %td  
于 2010-11-02T19:01:59.750 に答える