gpt4 book ai didi

ruby - 枚举器 each_slice 中的 'p' 是什么意思?

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

出于好奇,'p' 在 Ruby 中的 enumerable.each_slice 中代表什么?

例如:

(1..3).each_slice(2) {|n| p n}

打印:

[1, 2]
[3]

(1..3).each_slice(2) {|n| print n}

打印:

123

同时:

(1..3).each_slice(2) {|n| puts n}

打印:

1
2
3

最佳答案

没有魔法或奇怪的行为,p 实际上是指 Kernel.p

each_slice 正在迭代 2 个元素的切片。所以:

迭代 1 -> n = [1, 2]迭代 2 -> n = [3]

Kernel#p 在每次迭代中写入 n.inspect,因此它写入字符串 [1, 2] 然后是 [3],每个后跟一个新行。

Kernel#print 写入 n 后跟 $, 的值(字段分隔符,默认为 nil),所以它写入 [1, 2] 并立即写入 [3]

最后 Kernel#puts 递归地写入每个数组后跟一个新行。更多信息请点击此处:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/227540

关于ruby - 枚举器 each_slice 中的 'p' 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7779556/

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