gpt4 book ai didi

ruby-on-rails - 为什么Ruby on Rails生成的文件末尾会添加一个空白行?

转载 作者:行者123 更新时间:2023-12-03 16:17:59 26 4
gpt4 key购买 nike

运行rails generate controller Foo home会导致:

class FooController < Application Controller
def home
end
end
(There's nothing on this line in the actual file, just a blank line)

这个空白行有目的吗?

最佳答案

通常使用换行符来指示行尾,即使对于最后一行也是如此。许多编辑器(例如vi,我使用过)都默默地在此换行符中添加。共识是文本文件(尤其是在Unix世界中)应该以换行符结尾,而且如果不存在,历史上就存在问题。 Why should text files end with a newline?

我用来对文件“wc”中的行进行计数的工具仅对文件中的换行进行计数,因此如果没有该尾随的换行符,它将显示3而不是4。

它还提高了生成器中使用的模板的可读性。考虑:
https://github.com/rails/rails/blob/master/railties/lib/rails/generators/rails/controller/templates/controller.rb

要删除结尾的换行符,该模板的最后一行应为:

end<% end -%>

代替:
end
<% end -%>

对我来说,这似乎不太容易理解。

下面的讨论引用文件前面的空白行,而不是尾随换行符。

这是一个疏忽,并且在更高版本的rails中修复。

您可以在此处的提交历史记录中看到删除空白行的位置:

https://github.com/rails/rails/commits/master/railties/lib/rails/generators/rails/controller/templates/controller.rb

这是删除的提交:
Remove redundant blank line at the bottom

它还向您显示了为什么会出现它,以前他们只是在每个操作之后添加一个空白行。

关于ruby-on-rails - 为什么Ruby on Rails生成的文件末尾会添加一个空白行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com