Ruby单引号和双引号

 超级活死人 发布于 2023-02-13 22:23

我最近一直使用Ruby进行编码,并且来自Python,据我所知,单引号和双引号对代码的工作方式没有任何影响.

我转到Ruby看看它是如何工作的,并调查Ruby和Python之间的相似之处.

我曾使用单引号字符串并注意到这一点:

hello = 'hello'
x = '#{hello} world!'
puts x

它返回'#{hello} world!'而不是'hello world!'.

注意到这一点后,我尝试了双引号,问题得到解决.现在我不确定为什么会这样.

单引号和双引号会改变这个还是因为我的编辑器(Sublime text 3)?如果它在以前的版本中工作方式不同,我也使用Ruby 2.0版.

1 个回答
  • 在Ruby中,双引号被内插,这意味着代码#{}被评估为Ruby.单引号被视为文字(意味着不评估代码).

    var = "hello"
    "#{var} world" #=> "hello world"
    '#{var} world' #=> "#{var} world"
    

    对于一些特殊的魔术,Ruby还提供了另一种创建字符串的方法:

    %Q() # behaves like double quotes
    %q() # behaves like single quotes
    

    例如:

    %Q(#{var} world) #=> "hello world"
    %q(#{var} world) #=> "#{var} world"
    

    2023-02-13 22:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有