【问题标题】:Not outputting #{variable} within a string [duplicate]不在字符串中输出#{variable} [重复]
【发布时间】:2015-02-15 20:32:30
【问题描述】:

我无法将输入变量打印为字符串的一部分。

name = gets
>>> Lizzie
print #{name}
>>> Lizzie

这行得通。但是,当我想做的时候:

name = gets    
print 'Your name is: #{name}' 

它输出:

Your name is: #{name}

任何帮助将不胜感激。

【问题讨论】:

  • 使用" 而不是' 来引用你的字符串。
  • 其实Ruby: double vs single quotes有更清晰的答案。
  • @MichaelBerkowski 这不是重复的,因为作者很可能不知道 Ruby 中的单引号和双引号之间存在区别。但最终,是的,这就是他应该指出的方向。
  • 哦,好吧,从来没有听说过单引号和双引号(猜我是个菜鸟:))。谢谢你的指出!
  • @CyrilDD "Duplicate" 并不是“完全相同的问题”,而是“这里已经有适合您的问题的答案,看看吧!”它会导致未来的访问者被引导到最完整的问题和答案。

标签: ruby


【解决方案1】:

不知道为什么@peter_huene 没有将此作为答案发布,但只是为了完成这个问题,答案是:

name = gets    
print "Your name is: #{name}"

您使用双引号来获得变量注入和其他功能。单引号是没有后处理的文字引号。

@Lizzie - Ruby 并不“更敏感” - 它为您提供了两种处理字符串的显式方式,更灵活。不幸的是,这意味着有点“魔力”,因为字符串的行为取决于引用的方式,但它是一个特性而不是特性。

【讨论】:

    猜你喜欢
    • 2012-03-08
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2015-05-06
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    相关资源
    最近更新 更多