gpt4 book ai didi

ruby-on-rails - Ruby "don' t care variable"和Prolog的一样?

转载 作者:数据小太阳 更新时间:2023-10-29 07:20:23 25 4
gpt4 key购买 nike

<分区>

所以我对 Prolog 和 Ruby 都是新手。在大学学习 Prolog,在我自己学习 Ruby。我在想 Ruby 中是否像 Prolog 中那样存在“不关心”或“丢弃”变量。

我刚刚打开 irb 并做了这个(假设下划线是“无关”的标志)

1.9.2-p290 :003 > _, b, c = [1,2,3]
=> [1, 2, 3]
1.9.2-p290 :004 > b
=> 2
1.9.2-p290 :005 > c
=> 3

结果果然如我所料。但是后来我很好奇下划线的值(value)在哪里以及它是什么类

1.9.2-p290 :006 > _
=> 3
1.9.2-p290 :008 > _.class
=> Fixnum

嗯,这很奇怪。它不应该丢掉值(value)吗?为什么要存储其他值?

然后用下划线进行更多测试,我看到了实际发生的情况,它具有最后评估的值。

1.9.2-p290 :017 > 1
=> 1
1.9.2-p290 :018 > _
=> 1
1.9.2-p290 :019 > "string"
=> "string"
1.9.2-p290 :020 > _
=> "string"
1.9.2-p290 :021 > Hash
=> Hash
1.9.2-p290 :022 > _
=> Hash

所以我的问题是:下划线实际上是做什么用的?它真的是一个无关变量还是其他什么?它的真名是什么? (因为我在谷歌上找不到很多“不关心 ruby​​ 变量”的东西)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com