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

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

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

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

解决方法

a,"hey"]

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

a,["baz"]

a,b = [["blerg"],["baz"]]

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

同样的,

c,"bar"

是相同的

c,d = ["foo","bar"]
原文链接:https://www.f2er.com/ruby/269033.html

猜你在找的Ruby相关文章