gpt4 book ai didi

ruby - Codecademy "converting between symbols and strings" ruby 类(class)

转载 作者:数据小太阳 更新时间:2023-10-29 06:48:28 33 4
gpt4 key购买 nike

这些是 Codecademy 的说明:

We have an array of strings we'd like to later use as hash keys, but we'd rather they be symbols. Create a new array, symbols. Use .each to iterate over the strings array and convert each string to a symbol, adding those symbols to symbols.

这是我写的代码(提供了strings数组):

strings = ["HTML", "CSS", "JavaScript", "Python", "Ruby"]
symbols = []
strings.each { |x| x.to_sym }
symbols.push(strings)

我知道我可能做错了很多事,但我已经顺利完成了 ruby​​ track 到目前为止,所以我不确定为什么这个问题难倒了我。首先,它不会将字符串转换为符号,其次,它不会将它们推送到符号数组。

最佳答案

to_sym 本身并没有做任何有用的事情;它正在转换字符串,但没有将它存储在任何地方或以后使用它。你想继续添加到符号数组。

strings = ["HTML", "CSS", "JavaScript", "Python", "Ruby"]
symbols = []
strings.each { |s| symbols.push s.to_sym }

或者更优雅地,您可以跳过设置 symbols = [] 并仅使用 map 在一行中创建它:

symbols = strings.map { |s| s.to_sym }

map 将遍历数组中的每一项,并根据 map 函数将其转换为其他内容。对于只是应用函数的简单 map ,您可以更进一步:

symbols = strings.map &:to_sym

(这和symbols = strings.map(&:to_sym)一样,你觉得哪个更有品味。)

关于ruby - Codecademy "converting between symbols and strings" ruby 类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15971364/

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