- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很惊讶这个扩展:
$ echo "${foo:~abc}"
当 foo
未设置时产生空字符串。我预计它会像这样解析:
$ echo "${foo:(~abc)}"
并产生字符串“~abc”。但是相反,我发现如果我确实定义了
$ foo='abcdefg'
$ echo "${foo:~abc}"
g
事实上,它是在算术上下文中取“abc”并做的。 “${foo:~0}”
。同样
$ foo='abcdefg'
$ echo "${foo:~3}"
defg
它获取扩展的最后 n+1 个字符。我查看了联机帮助页的“参数扩展”部分。我看那里没有提到代字号。 Bash Hackers Wiki只提到波浪号作为(也未记录的)大小写修饰符。
此行为至少可以追溯到 3.2.57。
我只是错过了记录这种形式的子字符串扩展的地方,还是根本没有记录?
最佳答案
它并非未记录(您可能将 ${foo:~abc}
与 ${foo-~abc}
混淆了)。
${parameter:offset}
${parameter:offset:length}
Substring Expansion. Expands to up to length characters of the
value of parameter starting at the character specified by off-
set. [...] If length is omitted, expands to the substring of the
value of parameter starting at the character specified by offset
and extending to the end of the value. length and offset are
arithmetic expressions (see ARITHMETIC EVALUATION below).
这里,~abc
是展开的偏移域,~
是算术表达式中的按位取反运算符。未定义的参数在算术表达式中的计算结果为 0,并且 ~0 == -1
。
关于Bash tilde *substring* 扩展 - 未记录的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703040/
如果您阅读 jQuery inArray 页面上的评论 here ,有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信双感叹号会将结果转换为 boolean 类型
如果您阅读 jQuery inArray 页面上的评论 here ,有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信双感叹号会将结果转换为 boolean 类型
例如: unsigned int i = ~0; 结果:我可以分配给i的最大数量 和 signed int y = ~0; 结果:-1 为什么我得到 -1?我不应该得到可以分配给 y 的最大数量吗?
我正在使用Powershell脚本将文件解析为不同的分隔格式,可以轻松地将其加载到Excel或DB中。 除了找到并替换字符串“〜S〜|”以外,我基本上都了解了它其中所有字符都应采用文字。 我尝试了以下
我有一个我想重定向的 URL,但是我似乎无法在 vim 中输入该字符。 字符是 ¬(逻辑否定),我想将它重定向到 ~(波浪号)。 Redirect permanent /¬foo http://www
我有一个我想重定向的 URL,但是我似乎无法在 vim 中输入该字符。 字符是 ¬(逻辑否定),我想将它重定向到 ~(波浪号)。 Redirect permanent /¬foo http://www
我想从文本文件存储 2 个东西(仅名称和值) ~sing 之后的任何内容都应该作为一个名为“Name”的字符串进行线程处理,而“:”冒号之后的任何内容都应该是一个名为“Value”的整数 示例输出应如
我很惊讶这个扩展: $ echo "${foo:~abc}" 当 foo 未设置时产生空字符串。我预计它会像这样解析: $ echo "${foo:(~abc)}" 并产生字符串“~abc”。但是相反
我的 bash 脚本中有一个变量,它的值是这样的: ~/a/b/c 请注意,它是未展开的代字号。当我对这个变量(称之为 $VAR)执行 ls -lt 时,我没有得到这样的目录。我想让 bash 解释/
这样的事情可能吗? a, a:active~a.active { color:#000; background:#fff; } a.active, a:active { b
我的 bash 脚本中有一个变量,它的值是这样的: ~/a/b/c 请注意,它是未展开的代字号。当我对这个变量(称之为 $VAR)执行 ls -lt 时,我没有得到这样的目录。我想让 bash 解释/
我正在开发键盘应用程序,但遇到了问题。我想以编程方式在 android 的 EditText 中限制/阻止软键盘中的某些特殊字符。 那么,有什么办法可以限制在 android 的编辑文本中输入任何特殊
我只是在 HAML/Rails 形式中偶然发现了这一行: ~ f.input :content, label: false 波浪号有什么作用? 最佳答案 Whitespace Preservation
我们有这样的声明: {{~#if someCondition ~}} {{~/if~}} 简单if有什么区别声明和 if Handlebars 模板中带有“~”的语句? 最佳答案 它被称为波浪号,可
我有一个来自常规代码的正则表达式: (?:[^\p{Alnum}äöü**~D~V~\~_**]|^) (?:sometext|s\.t\.) (?:[^\p{Alnum}äöü**~D~V~\~_*
我的 zsh 正在替换 !~使用我之前运行的命令。这是一个问题,因为当我运行 awk '$1 !~ /abc/ 时,它取代了 !~与命令。 关于如何禁用它的任何想法?这可能不是 zsh 的错,但在谷歌
这个问题在这里已经有了答案: What does ~~ ("double tilde") do in Javascript? (13 个答案) 关闭 10 年前。 我在一些代码中看到了这个,但我不知
我今天在查看一个在线游戏物理库时遇到了 ~~ 运算符。我知道单个 ~ 是按位 NOT,这会使 ~~ 成为 NOT 的 NOT,这会返回相同的值,不是吗? 最佳答案 它会删除小数点后的所有内容,因为按位
我正在努力理解我在 jsFiddle ( http://jsfiddle.net/Pm3cj/3/ ) 中找到的 jQuery 选择器。选择器是: '~.container, ~:has(.conta
我通过 angular-cli 设置了一个 angular 6 项目。 我安装了 karma-scss-preprocessor 作为开发依赖,以便在 karma 测试中加载 sass 文件。以下 k
我是一名优秀的程序员,十分优秀!