在 Ruby 中调用 printf 时如何正确转义 %?
How do I properly escape % in call to printf in Ruby?
如何在 Ruby 调用 printf 时正确转义 %?
当我尝试使用 %%
(如在 C 中)时,
value = 47
printf "To have a 60%% test average, your final exam must be at least %0.2f.\n" % [value]
我收到这个错误:
$ ruby /tmp/test.rb
/tmp/test.rb:4:in `printf': malformed format string - %t (ArgumentError)
from /tmp/test.rb:4:in `<main>'
似乎在检查字符串的格式参数之前将 %
插入到字符串中(即,“... %% test ...
”似乎被解释为“... %test ...
");但是,我不知道设置格式字符串的正确方法。
您应该将值作为参数传递给 printf
printf "To have a 60%% test average, your final exam must be at least %0.2f.\n",value
如何在 Ruby 调用 printf 时正确转义 %?
当我尝试使用 %%
(如在 C 中)时,
value = 47
printf "To have a 60%% test average, your final exam must be at least %0.2f.\n" % [value]
我收到这个错误:
$ ruby /tmp/test.rb
/tmp/test.rb:4:in `printf': malformed format string - %t (ArgumentError)
from /tmp/test.rb:4:in `<main>'
似乎在检查字符串的格式参数之前将 %
插入到字符串中(即,“... %% test ...
”似乎被解释为“... %test ...
");但是,我不知道设置格式字符串的正确方法。
您应该将值作为参数传递给 printf
printf "To have a 60%% test average, your final exam must be at least %0.2f.\n",value