使用变量构造格式字符串
Constructing a format string using variables
字符串格式是这样的:
someString = "Example string %{key}"
result = someString % {key: newData}
我想检索字符串中的散列键而不对它们进行硬编码。有没有办法做到这一点?
另外,请问有什么方法可以使用变量构造格式字符串吗?我想做这样的事情:
variable = key
result = someString % {variable: newData}
一种从格式字符串中提取键的方法:
"Example string %{key1} %{key2}".scan /(?<=%{)[^{}]+?(?=})/
# => ["key1", "key2"]
正则表达式 (?<=%{)[^{}]+?(?=})
匹配一个或多个字符(非贪婪),前提是它以 %{
为前缀,后跟 }
。
要构造格式字符串,可以使用字符串插值:
variable = 'key'
"Example string %{#{variable}}"
# => "Example string %{key}"
你差不多明白了。语法有点偏差
variable = :key # get this one from whereever
someString = "Example string %{key}"
someString % { variable => 'foo' } # => "Example string foo"
字符串格式是这样的:
someString = "Example string %{key}"
result = someString % {key: newData}
我想检索字符串中的散列键而不对它们进行硬编码。有没有办法做到这一点?
另外,请问有什么方法可以使用变量构造格式字符串吗?我想做这样的事情:
variable = key
result = someString % {variable: newData}
一种从格式字符串中提取键的方法:
"Example string %{key1} %{key2}".scan /(?<=%{)[^{}]+?(?=})/
# => ["key1", "key2"]
正则表达式 (?<=%{)[^{}]+?(?=})
匹配一个或多个字符(非贪婪),前提是它以 %{
为前缀,后跟 }
。
要构造格式字符串,可以使用字符串插值:
variable = 'key'
"Example string %{#{variable}}"
# => "Example string %{key}"
你差不多明白了。语法有点偏差
variable = :key # get this one from whereever
someString = "Example string %{key}"
someString % { variable => 'foo' } # => "Example string foo"