为什么我的ruby字符串成为一个数组?

时间:2014-10-07 21:37:05

标签: ruby arrays string

以下是代码和输出,其中inbound_text是一个字符串,如您所见:

 puts inbound_text  
 data = {:input => "#{inbound_text}", 'user_key' => ENV['USER_KEY'], 'client_name' => "#{bot_client_name}" }
 puts data

输出:

changed sms_text to inbound_text
{'input' =>"[\"changed sms_text to inbound_text\"]", "user_key"=>"3b9ccb48e734fce6b982a9c1c2cef301", "client_name"=>"14155086888"}

我无法弄清楚原因:输入不断获取数组。 client_name也是一个字符串,如您所见,但似乎没有类似的问题。

1 个答案:

答案 0 :(得分:0)

尝试做:

inbound_text = inbound_text.first

在初始化数据哈希之前。

您可能已将inbound_text设置为实际数组,并且您认为像

这样的单元素数组
inbound_text = ["changed sms_text to inbound_text"] 

将为您提供数组内的文本。事实并非如此:

["changed sms_text to inbound_text"].to_s #=> "[\"changed sms_text to inbound_text\"]"

所以你可能只想获得数组中的第一个(也是唯一的元素),然后进行计算。

相关问题