这些是Codecademy的指示:
这是我编写的代码(提供了strings
数组):
strings = ["HTML", "CSS", "JavaScript", "Python", "Ruby"]
symbols = []
strings.each { |x| x.to_sym }
symbols.push(strings)
我知道我可能做错了很多事情,但是到目前为止,我已经很顺利地通过了 ruby 赛道,所以我不确定为什么这会困扰我。首先,它没有将字符串转换为符号,其次,没有将其插入symbols数组。
最佳答案
仅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 课,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15971364/