如何在 Rust 中打印变量并让它显示有关该变量的所有内容,例如 Ruby 的 .inspect?

     2023-02-18     128

关键词:

【中文标题】如何在 Rust 中打印变量并让它显示有关该变量的所有内容,例如 Ruby 的 .inspect?【英文标题】:How do I print variables in Rust and have it show everything about that variable, like Ruby's .inspect? 【发布时间】:2016-12-26 15:41:18 【问题描述】:
use std::collections::HashMap;

fn main() 
    let mut hash = HashMap::new();
    hash.insert("Daniel", "798-1364");
    println!("", hash);

将无法编译:

error[E0277]: `std::collections::HashMap<&str, &str>` doesn't implement `std::fmt::Display`
 --> src/main.rs:6:20
  |
6 |     println!("", hash);
  |                    ^^^^ `std::collections::HashMap<&str, &str>` cannot be formatted with the default formatter
  |

有没有办法这样说:

println!("", hash.inspect());

并打印出来:

1) "Daniel" => "798-1364"

【问题讨论】:

【参考方案1】:

您正在寻找的是Debug 格式化程序:

use std::collections::HashMap;

fn main() 
    let mut hash = HashMap::new();
    hash.insert("Daniel", "798-1364");
    println!(":?", hash);

这应该打印出来:

"Daniel": "798-1364"

另见:

What is the difference between println's format styles?

【讨论】:

对于自定义严格 a,您需要使用 #derive(Debug) 特征来装饰它们。 rustbyexample.com/trait/derive.html【参考方案2】:

Rust 1.32 引入了 dbg 宏:

use std::collections::HashMap;

fn main() 
    let mut hash = HashMap::new();
    hash.insert("Daniel", "798-1364");
    dbg!(hash);

这将打印:

[src/main.rs:6] hash = 
    "Daniel": "798-1364"

?

【讨论】:

如何让全局变量 int 高和低以在显示功能中打印? (这两个变量显示最高和最低分)

】如何让全局变量int高和低以在显示功能中打印?(这两个变量显示最高和最低分)【英文标题】:HowdoIgetGlobalvariablesinthighandintolowtoprintindisplayfunction?(Thesetwovariablesdisplaythehighestandlowestmarks)【发布时间】:2020-10-0221:49:56【问题描... 查看详情

角度材质如何单击表格中的一行并让它将一个特定单元格的内容返回到变量中?(代码片段)

exportinterfaceStatususers sysid:Number; LASTNAME:String; FIRSTNAME:String; FIRST_AND_LAST:String; REGISTRATION:String; CHEATER_ID:String; UNIQUE_NUMBER:Number; TYPE:String; PASSWORD:String; USERNU 查看详情

如何在 Python 中打印变量? [关闭]

】如何在Python中打印变量?[关闭]【英文标题】:HowdoyouprintvariablesinPython?[closed]【发布时间】:2018-08-0401:03:38【问题描述】:我只是在中学,所以我什至不擅长编码,但是我的学校网站已关闭,我无法找到有关python编码问题的一... 查看详情

如何将提及变量转换为普通变量并将其打印到我的终端

】如何将提及变量转换为普通变量并将其打印到我的终端【英文标题】:HowdoIconvertamentionvariable,toanormalvariableandprintittomyterminal【发布时间】:2021-04-3009:25:06【问题描述】:我的代码中有一个看起来像这样的变量,唯一的问题是它... 查看详情

Robot Framework 中的静态变量

...机器人框架中是否有静态类型的变量?如果是这样,我该如何调用它?还是通过python文件来解决?我要解决的问题是,我希望一个变量设置一次并让它记住设置的值。不幸的是,这个变量在一个资源文件中(它与我的测试套件文... 查看详情

如何以相反的字节顺序打印变量?

】如何以相反的字节顺序打印变量?【英文标题】:Howtoprintavariableinreversedbyteorder?【发布时间】:2010-06-0315:11:07【问题描述】:我正在尝试将变量$num转换为其反向字节顺序并打印出来:my$num=0x5514ddb7;my$s=pack(\'I!\',$num);print"$s\\n";... 查看详情

有没有办法在不同的类中设置一个等于变量的值,并让它保持第一次运行的值而不必每次都运行?

】有没有办法在不同的类中设置一个等于变量的值,并让它保持第一次运行的值而不必每次都运行?【英文标题】:Isthereawaytosetavalueequaltoavariableinadifferentclassandhaveitkeepthevaluefromthefirstrunandnothavetoruneverytime?【发布时间】:2020-12-18... 查看详情

Rust 的 Rocket Web 框架如何使用共享变量?

】Rust的RocketWeb框架如何使用共享变量?【英文标题】:HowtousesharedvariablesRust\'sRocketwebframework?【发布时间】:2022-01-1412:06:32【问题描述】:我正在尝试在路由函数中使用共享资源,例如在我的hello()函数中访问变量“shared_resource”... 查看详情

如何使用先前堆栈中的名称打印变量参数?

】如何使用先前堆栈中的名称打印变量参数?【英文标题】:HowdoIprintthevariableargumentswithnamesfrompreviousstack?【发布时间】:2015-12-1123:51:46【问题描述】:我想定义一个日志函数,调用该函数时会显示一条消息,然后是一个或多个... 查看详情

如何在 JavaScript 中引用表示变量?

】如何在JavaScript中引用表示变量?【英文标题】:HowtorefertoPresentationVariableinJavaScript?【发布时间】:2015-08-0716:13:42【问题描述】:我使用的是OBIEE11g。我正在尝试创建一个易于打印的仪表板,该仪表板在页脚中显示仪表板在每个... 查看详情

试图弄清楚如何将总分恢复到主要打印出来。它正在显示但未存储在变量中

】试图弄清楚如何将总分恢复到主要打印出来。它正在显示但未存储在变量中【英文标题】:Tryingtofigureouthowtotobringthetotalscorebackuptomaintoprintout.Itisbeingdisplayedbutnotstoredinthevariable【发布时间】:2018-10-0107:20:56【问题描述】:我正在... 查看详情

如何在状态栏中显示 tmux 环境变量(作为窗口格式)

】如何在状态栏中显示tmux环境变量(作为窗口格式)【英文标题】:Howtoshowatmuxenvironmentvariableinthestatusbar(aswindowformat)【发布时间】:2014-02-0323:12:36【问题描述】:归根结底是,我想打印窗口独有的变量,或者运行窗口独有的脚... 查看详情

如何在 HTML 中显示变量

】如何在HTML中显示变量【英文标题】:HowtodisplayavariableinHTML【发布时间】:2015-11-0501:59:14【问题描述】:我正在使用Python制作一个Web应用程序,并且有一个我想在HTML页面上显示的变量。我该怎么做呢?在HTML页面中使用%VariableNam... 查看详情

如何在 sql 中设置变量并在选择查询中使用它来显示和执行对该变量的操作(MAX MIN)?

】如何在sql中设置变量并在选择查询中使用它来显示和执行对该变量的操作(MAXMIN)?【英文标题】:Howtosetavariableinsqlanduseitinselectquerytodisplayandperformactions(MAXMIN)onthatvariable?【发布时间】:2021-06-0309:08:06【问题描述】:下面是我... 查看详情

如何设置环境变量以供 .npmrc 使用

】如何设置环境变量以供.npmrc使用【英文标题】:Howtosetenvvarfor.npmrcuse【发布时间】:2018-07-2113:47:29【问题描述】:我的项目中需要一个模块来下载私有npm包。为此,我使用.npmrc文件来提供下载包所需的只读令牌。为了将npm提供... 查看详情

获取有关目录中文件的信息并在表格中打印

...、上次修改时间和MD5哈希。对于我的一生,我无法弄清楚如何将其分解为单个文件;它只做整个路径。我知道路径变量需 查看详情

如何在 Ruby 代码中打印 JavaScript 变量

】如何在Ruby代码中打印JavaScript变量【英文标题】:HowtoprintaJavaScriptvariablewithinRubycode【发布时间】:2020-08-0109:10:59【问题描述】:我有一个单选按钮列表,根据用户选择的单选按钮,应该显示一个按钮。<divclass="cobrado-anualmente-... 查看详情

在 MVC 视图中显示变量列表

...时间】:2011-12-1914:30:47【问题描述】:我必须在MVC视图中打印/显示几个变量的值。我该怎么做..publicActionResultDisplayVariables()ViewBag.Message="WelcometoASP.NETMVC!";//Aftersomeprocess/logic..variab 查看详情