2014-11-15 46 views
0

在PHP中,我已经习惯了能够输入-耍弄容易,例如,采取任何参数,并投它作为像这样的数组:你如何在红宝石阵列中进行类型转换?

<?php 

$foo = [1]; 
var_dump($foo); 
// array(1) { 
// [0]=> 
// int(1) 
// } 

$foo = 1; 
var_dump((array)$foo); 
// array(1) { 
// [0]=> 
// int(1) 
// } 

$foo = "one"; 
var_dump((array)$foo); 
// array(1) { 
// [0]=> 
// string(3) "one" 
// } 

什么是Ruby中相同的一个简单的近似?我觉得我在文档中缺少一些非常简单的东西。

回答

3

没有等价物。最接近的将是一个数组简单地包裹一个变量:

x = "one" 
p [x] # ["one"] 

如果你想换的东西在一个数组除非这已经是一个数组,使用Array()

x = "one" 
p Array(x) # ["one"] 

x = [1] 
p Array(x) # [1], not [[1]] 
+0

所以'X = Array(“one”)'是一样的吗? – typeoneerror

+0

啊,是的,你的编辑就是我要找的东西! – typeoneerror

+1

它的使用类似,但它不是“铸造”。这只是一个像'x =(y.is_a?Array?y:[y])'这样的快捷方式 – meagar