此代码中的两行:
RewriteEngine On
RewriteBase /testwebsite/
#redirect index.php to the pretty URL
RewriteCond %{THE_REQUEST} [A-Z]{3,}\ /testwebsite/index\.php
RewriteRule ^ home? [R=301,L]
#internally rewrite pretty URL to index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php [L]
返回完全相同的数组p ["9", "6", "4"]
p %w(9 6 4)
。但是["9", "6", "4"]
的第一行:
map
工作正常,第二个:
p ["9", "6", "4"].map(&:to_i)
给出:
p %w(9 6 4).map{&:to_i}
我也尝试将它包裹在护腕syntax error, unexpected &
p %w(9 6 4).map{&:to_i}
中,但没有运气。这段代码有什么问题? (%w(9 6 4)).map(&:to_i)
是字符串数组的快捷方式。为什么它不以同样的方式工作?
UPD
好的,我明白了。这是一个愚蠢的问题,但我不能删除这个问题,因为它已经有了答案。我投票决定关闭它..
答案 0 :(得分:2)
您的第二个示例是传递原始块而不是proc符号。
更改
p %w(9 6 4).map{&:to_i}
到
p %w(9 6 4).map(&:to_i)
或
p %w(9 6 4).map {|n| n.to_i}