2014-02-18 71 views
2

有沒有更優雅的方式來重構它?也許,更短的東西?我的目標是生成一系列可用作分隔符的所有字符。生成一系列字符

supported_delimiters = ((33..46).map(&:chr) << (58..64).map(&:chr)).join 

回答

3

我會做如下:

a = [*(33..46),*(58..64)].map(&:chr).join 
a # => "!\"\#$%&'()*+,-.:;<=>[email protected]" 
+0

我知道有一個辦法,你能解釋一下''*''這是怎麼回事呢? – theGrayFox

+0

@TheGrayFox'*'是一個圖示操作符..它將範圍濺到數組元素中... –

+0

我每天都在學習新的東西。很好的解決方案,謝謝 – theGrayFox