What does %w(array) mean?

Dane O'Connor picture Dane O'Connor · Aug 13, 2009 · Viewed 375.1k times · Source

I'm looking at the documentation for FileUtils.

I'm confused by the following line:

FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'

What does the %w mean? Can you point me to the documentation?

Answer

sepp2k picture sepp2k · Aug 13, 2009

%w(foo bar) is a shortcut for ["foo", "bar"]. Meaning it's a notation to write an array of strings separated by spaces instead of commas and without quotes around them. You can find a list of ways of writing literals in zenspider's quickref.