为什么表达式"a,b = 5"在Ruby中将a设置为5,但b设置为nil?

Mon*_*nti 6 ruby ruby-on-rails

(irb) a, b = 5
a => 5
b => nil
Run Code Online (Sandbox Code Playgroud)

不应该是相反的方式吗?这里到底发生了什么?

Mon*_*nti 6

在我写这篇文章时,我的同事发现了原因:

红宝石把a, b = 5作为a, b = 5, nil

在Python3中,TypeError抛出了a .