gpt4 book ai didi

带有 shell 命令参数引号的 Ruby 字符串?

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:55 24 4
gpt4 key购买 nike

您好,我需要创建这样的字符串:

drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"

我想做类似的事情

str = Q%[drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"]

我得到这个:

=> "drawtext=\"fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2\"" 

drawtext="中等号后的转义字符是我想要摆脱的。如何实现?

该字符串将在命令行参数中使用。

最佳答案

与许多语言一样,Ruby 需要一种分隔引号和封闭引号的方法。

您看到的是转义字符,它是一种表示字面引号而不是句法引号的方式:

foo = 'test="test"'
# => "test=\"test\""

转义字符之所以存在,是因为在检查字符串时默认使用双引号。当然,它在内部存储为单个字符。您可能还会在其他情况下看到这些,例如 CR+LF 分隔的文件行:

"example_line\r\n"

这里的\r\n分别对应回车符和换行符。在 ANSI C 中定义的这些字符中有几个已经转移到许多语言中,包括 Ruby 和 JavaScript。

当您输出一个字符串时,这些转义字符不会显示:

puts foo
test="test"

关于带有 shell 命令参数引号的 Ruby 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com