为什么不能在运行时安全地生成fmt :: Arguments?

与一个

core::fmt::Arguments状态文档

此结构表示格式字符串及其参数的安全预编译版本。由于无法安全地完成此操作,因此无法在运行时生成该文件,因此未提供任何构造函数,并且该字段为私有字段以防止修改。

关于在运行时生成无法安全完成的结构到底有什么用?

罗德里戈

实际上,我认为这句话有点误导。您可以Arguments使用在运行时创建值format_args!您不能做的是Arguments使用任意字符串格式表达式构建

这是因为保留的主要不变式Arguments为:

  1. 每个占位符都有一个参数。
  2. 每个参数至少使用一次。
  3. 每个参数都实现适当的特征,每个参数都实现适当的特征。

例如,如果您的字符串格式为,"{0}{1:?}{2:x}{2:X}"则必须具有三个参数:第一个必须实现Display,第二个Debug和第三个LowerHex + UpperHex

您可以创建一个API以Arguments使用此类不变量来构建运行时,但不能使用非const格式的字符串。因为您将如何知道需要哪些特征?那有什么意义呢?如果要不使用字符串格式来格式化对象,则没有理由首先要求使用a Arguments

通过要求字符串是文字,宏format_args!可以在编译期间检查参数是否实现了适当的特征。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能在运行时安全地生成fmt :: Arguments?

来自分类Dev

为什么不能在运行时范围内添加MongoDB maven依赖项?

来自分类Dev

在大多数操作系统中,为什么不能在运行时增加堆栈?

来自分类Dev

为什么constexpr函数可以与在运行时生成的变量一起很好地工作?

来自分类Dev

为什么ServiceBase的OnStart()方法是arguments参数?

来自分类Dev

为什么Java在运行时需要classpath

来自分类Dev

为什么在运行时处理虚函数?

来自分类Dev

为什么会在运行时遇到问题?

来自分类Dev

为什么这个简单的strcat在运行时崩溃?

来自分类Dev

为什么在运行时未实现重载?

来自分类Dev

为什么 Android 视图值在运行时不同?

来自分类Dev

spring安全方法在运行时动态地安全

来自分类Dev

C#/ Regex模式可用于在线测试,但不能在运行时

来自分类Dev

jQuery选择器不能在运行时修改的元素上工作?

来自分类Dev

exec command [arguments]中的command [arguments]运行的执行环境是什么?

来自分类Dev

为什么`splice.apply(arguments,0)`失败而`splice.call(arguments,0)`返回数组

来自分类Dev

如果console.log(... arguments)正常,为什么var a = ... arguments失败?

来自分类Dev

JSON.stringify(arguments)发生了什么?

来自分类Dev

@ [arguments]在makefile中是什么意思?

来自分类Dev

在运行时生成类

来自分类Dev

什么时候只能在运行时知道类型?

来自分类Dev

为什么`arguments`在JS函数中类似于数组?

来自分类Dev

为什么在运行简单的docker映像时出现oci运行时错误?

来自分类Dev

为什么我的程序在运行时在命令窗口中什么都不输出?

来自分类Dev

用户在运行时动态地输入多个

来自分类Dev

用户在运行时动态地输入多个

来自分类Dev

为什么我的udev规则不能在正在运行的Docker容器内工作?

来自分类Dev

当.c或.cc文件不能运行时,为什么.cpp文件可以在xterm上运行?

来自分类Dev

为什么某些Docker映像在运行时需要命令?

Related 相关文章

  1. 1

    为什么不能在运行时安全地生成fmt :: Arguments?

  2. 2

    为什么不能在运行时范围内添加MongoDB maven依赖项?

  3. 3

    在大多数操作系统中,为什么不能在运行时增加堆栈?

  4. 4

    为什么constexpr函数可以与在运行时生成的变量一起很好地工作?

  5. 5

    为什么ServiceBase的OnStart()方法是arguments参数?

  6. 6

    为什么Java在运行时需要classpath

  7. 7

    为什么在运行时处理虚函数?

  8. 8

    为什么会在运行时遇到问题?

  9. 9

    为什么这个简单的strcat在运行时崩溃?

  10. 10

    为什么在运行时未实现重载?

  11. 11

    为什么 Android 视图值在运行时不同?

  12. 12

    spring安全方法在运行时动态地安全

  13. 13

    C#/ Regex模式可用于在线测试,但不能在运行时

  14. 14

    jQuery选择器不能在运行时修改的元素上工作?

  15. 15

    exec command [arguments]中的command [arguments]运行的执行环境是什么?

  16. 16

    为什么`splice.apply(arguments,0)`失败而`splice.call(arguments,0)`返回数组

  17. 17

    如果console.log(... arguments)正常,为什么var a = ... arguments失败?

  18. 18

    JSON.stringify(arguments)发生了什么?

  19. 19

    @ [arguments]在makefile中是什么意思?

  20. 20

    在运行时生成类

  21. 21

    什么时候只能在运行时知道类型?

  22. 22

    为什么`arguments`在JS函数中类似于数组?

  23. 23

    为什么在运行简单的docker映像时出现oci运行时错误?

  24. 24

    为什么我的程序在运行时在命令窗口中什么都不输出?

  25. 25

    用户在运行时动态地输入多个

  26. 26

    用户在运行时动态地输入多个

  27. 27

    为什么我的udev规则不能在正在运行的Docker容器内工作?

  28. 28

    当.c或.cc文件不能运行时,为什么.cpp文件可以在xterm上运行?

  29. 29

    为什么某些Docker映像在运行时需要命令?

热门标签

归档