Ruby中的Noob-是否存在差异&引用;和'';后推杆

Ruby中的Noob-是否存在差异&引用;和'';后推杆,ruby,difference,puts,Ruby,Difference,Puts,我有一个关于Ruby的初学者问题。我一直在和Chris Pine book一起练习Ruby,我看到他有时会在puts方法之后使用“”和“” 现在,我已经意识到,如果我使用“”,我不能将任何变量与#{}放在一起,因为我已经尝试过了,而且,如果我使用例如“”这样的反斜杠\',我不必打折(或者其他方式)但除此之外,我不知道这些东西之间有什么主要的区别,或者换句话说,我应该有时只使用“和”吗 Tnx有两个区别: 字符串插值:双引号允许,单引号不允许 例如: name = "SrdjaNo1" puts

我有一个关于Ruby的初学者问题。我一直在和Chris Pine book一起练习Ruby,我看到他有时会在puts方法之后使用“”和“”

现在,我已经意识到,如果我使用“”,我不能将任何变量与#{}放在一起,因为我已经尝试过了,而且,如果我使用例如“”这样的反斜杠\',我不必打折(或者其他方式)但除此之外,我不知道这些东西之间有什么主要的区别,或者换句话说,我应该有时只使用“和”吗


Tnx有两个区别:

  • 字符串插值:双引号允许,单引号不允许

    例如:

    name = "SrdjaNo1"
    
    puts "Hi #{name}!"
    #=> Hi SrdjaNo1!
    
    puts 'Hi #{name}!'
    #=> Hi #{name}!
    
    puts "Hello \nworld!"
    #=> Hello
    #=> world!
    
    puts 'Hello \nworld!'
    #=> Hello \nworld!
    
  • 转义序列:单引号将它们打印为文本

    例如:

    name = "SrdjaNo1"
    
    puts "Hi #{name}!"
    #=> Hi SrdjaNo1!
    
    puts 'Hi #{name}!'
    #=> Hi #{name}!
    
    puts "Hello \nworld!"
    #=> Hello
    #=> world!
    
    puts 'Hello \nworld!'
    #=> Hello \nworld!
    

  • 除此之外,您可以使用它们中的任何一个,只要在整个代码中保持一致即可。

    @muistooshort感谢您提供了已更新的答案。我建议您阅读“”。我们不在乎你是否是新来的,我们希望你做你的研究,去尝试,并用一个简洁、问得好的问题来展示你的尝试。Jon Skeet的“”和“”也会对你有所帮助。好吧,对不起,这是语言障碍。我试图用符号“”和“”搜索,但忘记了它被称为单引号/双引号。