ruby - 尝试在此 Ruby 方法中使用转义字符。没运气
问题描述
首先,我要感谢所有阅读我的 Ruby 问题或过去帮助过我的人。感谢您的帮助和理解。
我在用引号打印我的答案时遇到问题。当我打印出下面的内容时,我得到 KB、MY 和 MLG 不带引号。我尝试为转义字符添加一行以尝试添加引号,但没有任何反应。甚至尝试了 %() 方法和 %Q() 都没有效果。我在这里想念什么?也许我以不正确的方式编写了转义字符来包含引号?
非常感谢!
def to_initials(name)
newName = name.split(" ").each {|c| print c.chr}.to_s
withQuotes = "\"" + newName + "\""
return withQuotes
end
to_initials("Kelvin Bridges") # => "KB"
puts
to_initials("Michaela Yamamoto") # => "MY"
puts
to_initials("Mary La Grange") # => "MLG"
解决方案
首先,您使用Array.each
的是拆分名称。这将直接执行该块,就像for
Python/Java/C/etc 中的循环一样。您正在调用print c.chr
块,因此它只会立即打印第一个字符。
其次,您可以使用字符串插值来显示字符串中变量的值。例如:
my_var = 1
my_string = "#{my_var}"
这是我编写代码的方式:
def to_initials(name)
initials = name.split(" ").map {|c| c.chr}.join
return "\"#{initials}\""
end
kb = to_initials("Kelvin Bridges") # => "KB"
puts kb
my = to_initials("Michaela Yamamoto") # => "MY"
puts my
mlg = to_initials("Mary La Grange") # => "MLG"
puts mlg
推荐阅读
- python - 如何在 Python 3 中将文本流编码为字节流?
- ios - 为什么 UITextView 默认将 clipsToBounds 设置为 true?
- c# - WPF - 如何创建平铺地图编辑器
- swift - 坐标应该存储在 CGPoint 还是 CLLocation 中?
- sqlite - 如何在 SQLite 中获取分层树路径?
- reactjs - reactjs中的警报
- xamarin - MvvmCross 6.0 在关闭当前视图模型之前导航到视图模型
- python - Python函数通过记忆返回不同的结果
- .net - 用于桌面应用程序的受 OpenID Connect 保护的 API
- r - 无法使用 R Shiny 中的 DT 包取消选择代理选择的行