我有一个Ruby脚本,使用字符串插值来构建错误消息.
p "#{vName} is not a defined variable" => 'xxx is not a defined variable'
另一个程序员通过并尝试将字符串文字外部化为单独的配置文件.当然,他没有得到替代.
p err_string_from_config => '#{vName} is not a defined variable'
我已经环顾四周了,但是不能想出比转换为sprintf字符串和使用printf更好的东西.
有没有人知道如何使用#{}替换来处理Ruby脚本中不是双引号字符串的字符串?
解决方法
实际上,Ruby的功能与John的
Python示例非常相似:
$irb >> greeting = 'hello %s,my name is %s!' >> interpolated = greeting % ['Mike','John'] => "hello Mike,my name is John!" >>
如果您的参数是数组常量,这也很有用.如果你必须使用#{}样式插值,你可以使用eval:
>> greeting = 'hi #{name}' # notice name is not defined yet >> name = "mike" >> eval '"' + greeting + '"'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。