为什么带有字符串数组的ruby并行赋值返回字符串

前端之家收集整理的这篇文章主要介绍了为什么带有字符串数组的ruby并行赋值返回字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不确定下面的代码片段到底发生了什么.
  1. >> a,b = ["ho","hey"]
  2. => ["ho","hey"]
  3. >> a
  4. => "ho"
  5. >> b
  6. => "hey"
  7. >> c,d = "foo","bar"
  8. => ["foo","bar"]
  9. >> c
  10. => "foo"
  11. >> d
  12. => "bar"
  13. >> a,b = ["blerg"],["baz"]
  14. => [["blerg"],["baz"]]
  15. >> a
  16. => ["blerg"]
  17. >> b
  18. => ["baz"]

为什么第1行不会返回a => [ “豪”]?

在幕后,这三个任务之间有什么区别(a,b = [“ho”,“hey”],c,d =“foo”,“bar”,a,b = [“blerg”],[ “巴兹”])?

解决方法

  1. a,"hey"]

a被赋予数组的第一个元素,即字符串“ho”.没什么奇怪的.

  1. a,["baz"]
  2.  
  3. a,b = [["blerg"],["baz"]]

这两个是相同的,你可以通过它们的返回值看到.所以给a分配了第一个元素,它是一个带有一个元素的数组:[“blerg”].

同样的,

  1. c,"bar"

是相同的

  1. c,d = ["foo","bar"]

猜你在找的Ruby相关文章