关于ruby on rails:在用于预编译assets.rb资产的行中,+ =%w是什么意思?

What does += %w mean in the line used to precompile assets in assets.rb?

本问题已经有最佳答案,请猛点这里访问。

我正在查看Rails 5应用程序中放置在/config/initializers/assets.rb中的默认文件。

为了预编译代码,注释中的rails提供了一个预先存在的代码来将资产预编译在一起。

1
Rails.application.config.assets.precompile += %w( search.js )

我很好奇最后一部分是什么意思:+= %w( search.js ),因为我从未见过ruby或rails中使用的表达式(+= %w)。我知道整行都在调用Rails类,将一些方法链接在一起以创建最终输出。但我很好奇,+=%w是做什么的,它如何影响我假定的论点(search.js


1
Rails.application.config.assets.precompile += %w( search.js )

等于做

1
Rails.application.config.assets.precompile = Rails.application.config.assets.precompile + ['search.js']

要分解它,+=只是在语句中包含左手边的常规运算符。喜欢

1
2
i = 0
i += 1 # i = i + 1

%w允许您创建这样的数组

1
%w(search.js profile.js error.js)

这只是一个很好的速记

1
['search.js', 'profile.js', 'error.js']