gpt4 book ai didi

ruby - 有点代码看不懂 RUBY = [*?a..?z]

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

我在几年前发现了这段代码。我了解这段代码的作用,但不知道如何做。谁能解释一下 *? 在这里做什么?我以前从未见过这样使用它们。

myarr = [*?a..?z]       #generates an array of strings for each letter a to z
myarr = [*?a..?z] + [*?0..?9] # array of strings a-z and 0-9

最佳答案

?只是一个字符字面量语法,它在ruby<1.9以前有特殊含义,但现在?a和做一样“一个”

然后 .. 正在创建一个 Range * 只是将其扩展为一个参数列表,而 [ ] 对将其转换为一个数组。

希望我的 google-fu 足以获得一些像样的文档链接或除此之外的解释,但搜索这些链接非常困难。

更新:?a 实际上与 "a" 相同,而不是前面提到的 'a'。要查看此运行(留下 IRB 标签以帮助说明正在发生的事情):

irb(main):001:0> print ?\t
=> nil
irb(main):002:0> print "\t"
=> nil
irb(main):003:0> print '\t'
\t=> nil
irb(main):004:0>

关于ruby - 有点代码看不懂 RUBY = [*?a..?z],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45419450/

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