ruby to_s没有将整数转换为字符串

d7v8vwbk  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(239)

我试图将散列中的一些值转换为字符串,但类型保持不变。

  1. recommended_stores = []
  2. results['data'].each do |stores_list|
  3. stores_list['stores'].each do |store|
  4. store['id'].to_s
  5. end
  6. recommended_stores << stores_list['stores']
  7. end

我是不是遗漏了什么?

yzckvree

yzckvree1#

方法 #to_s 只返回转换为字符串的元素,但实际上不会永久地将元素转换为字符串。而不是使用 #each ,你可以用 #map ,像这样。

  1. results['data'].map do |stores_list|
  2. stores_list['stores'].each do |store|
  3. store['id'] = store['id'].to_s
  4. end
  5. end

如果您希望它只是一个可以使用的数组,那么它将返回一个数组数组 #flat_map .

wydwbb8l

wydwbb8l2#

你得到了所有的东西,但是你没有存储它,我想用value.to_s来分配hash的值是可行的,你能按下面的方法尝试吗

  1. recommended_store = []
  2. results['data'].each do |stores_list|
  3. stores_list['stores'].each do |store|
  4. store['id'] = store['id'].to_s
  5. end
  6. recommended_store << stores_list['stores']
  7. end

注意:在您的问题中,数组声明为“推荐的商店”,最后一行是将元素推入“推荐的商店”,希望这只是一个输入错误,而不是问题的原因:-)

相关问题