我从其他客户端发送一个数组并收到它:eval
现在我只想将其转换为Array而不使用Ruby的 "[1,2,3,4,5]" => [1,2,3,4,5]
方法。我们可以使用任何Ruby的默认方法吗?
<ul>
<li class="red"><a href="home">HOme</a></li>
<li><a href="gallery">gallery</a></li>
<li><a href="about">about</a></li>
<li><a href="contact">contact</a></li>
</ul>
答案 0 :(得分:32)
require 'json'
JSON.parse "[1,2,3,4,5]"
#=> [1, 2, 3, 4, 5]
JSON.parse "[[1,2],3,4]"
#=> [[1, 2], 3, 4]
答案 1 :(得分:6)
也许这个?
s.tr('[]', '').split(',').map(&:to_i)
答案 2 :(得分:4)
如果你想避免eval
,还有另一种方式:
"[1,2,3,4,5]".scan(/\d+/).map(&:to_i) #assuming you have integer Array as String
#=> [1, 2, 3, 4, 5]