免责声明:总的来说,我对 Web 开发还是很陌生,所以如果这是一个可怕的问题,我很抱歉。
为什么 HTML 中的所有内容都是逐行评估的?我注意到我投入到 HTML 中的任何代码(脚本?)都要求我在每一行都将其转换为它的语言,如下所示:
<div class = "row">
<div class = "span6 offset3">
<%= form_for(@user) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :email %>
<%= f.text_field :email %>
<%= f.label :password %>
<%= f.text_field :password %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f.text_field :password_confirmation %>
<%= f.submit "Create My Account", :class => "btn btn-large btn-primary" %>
<% end %>
</div>
</div>
但是为什么它不能像这样评估脚本:
<div class = "row">
<div class = "span6 offset3">
<%= form_for(@user) do |f|
f.label :name
f.text_field :name
f.label :email
f.text_field :email
f.label :password
f.text_field :password
f.label :password_confirmation, "Confirmation"
f.text_field :password_confirmation
f.submit "Create My Account", :class => "btn btn-large btn-primary"
end %>
</div>
</div>
允许这样做不会使开发变得如此简单吗?对我来说,这更有意义,但它不是这样做的,可能是有充分理由的。如果我正在编写相当多的代码(在本例中为 Ruby),我并不喜欢在开始和结束时强制转换每一行。
我知道我让 HTML 通过转换它来评估每一行作为一个 HTML 对象,但是不可能让它假设每一行(或其他一些语法 - 可能实际上使用分号)都是一个新的部分要评估的脚本?
我想我要问的是为什么要以这种方式评估代码块,为什么没有提高效率?