Codecademy“符号和字符串之间的转换”ruby课程

前端之家收集整理的这篇文章主要介绍了Codecademy“符号和字符串之间的转换”ruby课程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这些是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 = ["HTML","CSS","JavaScript","Python","Ruby"]
symbols = []
strings.each { |x| x.to_sym }
symbols.push(strings)

我知道我可能做了多件事情,但是我已经通过了这个很远的ruby轨道,很少有困难,所以我不知道为什么这是一个令我失望的事情.首先,它不是将字符串转换为符号,其次,它不是将它们推送到符号数组.

解决方法

to_sym一个人没有做任何有用的事情;它正在转换字符串,但不存储在任何地方或稍后使用它.你想继续添加到符号数组.
strings = ["HTML","Ruby"]
symbols = []
strings.each { |s| symbols.push s.to_sym }

或者更优雅的是,您可以跳过设置符号= [],只需使用地图即可在一行中创建它:

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

地图将遍历数组中的每个项目,并根据地图函数将其转换为其他内容.对于简单应用功能的简单地图,您可以进一步了解:

symbols = strings.map &:to_sym

(这与symbols = strings.map(&:to_sym)相同,使用您觉得更有品位的人.)

原文链接:https://www.f2er.com/ruby/266454.html

猜你在找的Ruby相关文章