在 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