首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

双引号与括号

给变量赋值时,也可以通过括号使特殊字符被当作普通字符处理。如下图所示。在这个例子中,括号阻止了$置换。如果将括号替换为双引号则会报错。 ? 如果在一个脚本中同时使用双引号和括号会是什么结果呢?...给变量b赋值时使用了反斜杠置换,给变量c赋值时使用了双引号加括号,其中双引号在最外层,给变量d赋值时使用了括号加双引号,其中括号在最外层,对比下来可以得出这样的结论:在同时使用双引号和括号时,最外层的做主...对于括号,如前文所述“括号内的置换有可能会被阻止”,这是因为括号的功能稍微复杂一些,但总的来说遵循两个原则:第一个原则是如果括号是用做置换操作,则其内部的置换操作会被阻止;第二个原则是如果括号用做界限符...如果需要双引号或括号作为普通字符出现在字符串中时,可通过反斜杠\置换,或者通过双引号和括号的嵌套使用实现特定功能,如下图所示。 ?...结论: -双引号实现参数分组,不阻止置换; -括号实现参数分组,阻止内部置换; -同时使用双引号和括号实现参数分组时,是否置换由最外层符号决定

2.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用双括号初始化集合,可别这么干

    Double Brace Initialization should not be used 前言 最近在修改sonar问题时,发现有人使用双括号初始化集合,提示可能发生内存泄漏。...(1000); } } 输出 访问外部类对象的属性:bob Thread name: Finalizer Object: sandy Gc happen 分析 匿名内部类持有外部类对象引用 双括号初始化时...使用了匿名内部类 双括号初始化的方法 非双括号初始化的方法 编译后产生的文件 可以发现,多了一个内部类:A$1.class。...查看内部类字节码 拥有一个外部类的成员变量 通过构造方法传入了外部类对象的引用 将外部类对象的引用赋值给成员变量 执行我们写的put方法 内部类继承于HashMap 发生了内存泄漏 使用非双括号初始化...map的sandy被回收了,而使用双括号初始化map的bob却没有被回收。

    92330

    编程语言简史:有人不喜欢括号,于是他发明了 Python

    这在后来被证明是正确的——在Electron.js被发明出来后 1972年 Dennis Ritchie在贝尔实验室上班上到无聊了,于是他决定写出带有括号的C语言,这门语言取得了巨大成功。...1983年 Bjarne Stroustrup 注意到C在编译方面的时间还不够多,于是他把自己能想到的每一项功能都增加了进去,然后称之为C++。...1991年 Guido van Rossum不喜欢括号,于是他发明了Python,语法选择的灵感来源自Monty Python(巨蟒剧团)和Flying Circus(飞行马戏团)。...他先是找到了Netscape然后说这门语言叫做LiveScript,但在代码评审期间Java变得流行起来,所以他们决定最好还是用括号,然后就把它更名为JavaScript。

    1.2K70

    shell中的括号(小括号,中括号,大括号

    一、小括号,园括号()   1、单小括号 ()     ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。...括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。     ②命令替换。...,方括号[]   1、单中括号 []     ①bash 的内部命令,[和test是等同的。...④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。 三)大括号括号 {}   1、常规用法。     ①大括号拓展。(通配(globbing))将对大括号中的文件名做扩展。...与小括号中的命令不同,大括号内的命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。括号内的命令间用分号隔开,最后一个也必须有分号。

    3.9K10

    2023-07-13:如果你熟悉 Shell 编程,那么一定了解过括号展开,它可以用来生成任意字符串。 括号展开的表达式可以

    2023-07-13:如果你熟悉 Shell 编程,那么一定了解过括号展开,它可以用来生成任意字符串。...括号展开的表达式可以看作一个由 括号、逗号 和 小写英文字母 组成的字符串 定义下面几条语法规则: 如果只给出单一的元素 x,那么表达式表示的字符串就只有 "x"。...该代码的时间复杂度为O(N^M),其中N为表达式中的字符数,M为展开括号的深度。...具体来说,代码中的核心函数process通过遍历表达式字符并进行递归处理,每次递归都会将问题规模缩小,直到达到展开括号的最深层级。因此,时间复杂度取决于表达式中字符的数量以及展开括号的深度。...因此,最终的空间复杂度取决于展开括号的深度和表达式中字符的数量,即O(N^M)。

    23830
    领券