Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么普林顿!只为长度小于33的数组工作?

为什么普林顿!只为长度小于33的数组工作?
EN

Stack Overflow用户
提问于 2015-10-09 03:14:12
回答 1查看 2.4K关注 0票数 29

在“锈病”中,这起作用是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let a = [0; 32];
    println!("{:?}", a);
}

但这并不是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let a = [0; 33];
    println!("{:?}", a);
}

编译错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
error[E0277]: the trait bound `[{integer}; 33]: std::fmt::Debug` is not satisfied
 --> src/main.rs:3:22
  |
3 |     println!("{:?}", a);
  |                      ^ the trait `std::fmt::Debug` is not implemented for `[{integer}; 33]`
  |
  = note: `[{integer}; 33]` cannot be formatted using `:?`; if it is defined in your crate, add `#[derive(Debug)]` or manually implement it
  = note: required by `std::fmt::Debug::fmt`

我假设std::fmt::Debug函数以某种方式检测多达32个元素的类型,但随后删除了它的检测。或者为什么不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 03:33:05

从锈蚀1.47 (2020-10-08)开始,这不再是真的了!几乎所有的性状都被实现为任意长度的数组。所以,您现在可以打印33长度的数组了!

下面的旧答案可供参考。

遗憾的是,Rust还不支持作为泛型参数的整数。因此,要为每个数组Debug实现一个特性(如[T; N] )并不容易。目前,标准库使用宏来轻松地实现所有长度最多为32的特征。

要输出数组,可以通过以下方式轻松地将其转换为片(&[T]):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let a = [0; 33];
println!("{:?}", &a[..]);

顺便说一句:通常您可以通过简单的前缀&从数组中获得一个片段,但是println参数的工作方式有点不同,所以您需要添加完整的范围索引[..]

这种情况今后可能会有所改善。RFC 2000: Const Generics已经被接受,并且大部分在编译器中实现。它允许impl块泛型于数组的长度。您可以跟踪相应的跟踪问题上的实现和稳定状态。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33036859

复制
相关文章
LeetCode刷题DAY 33:长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。
三猫
2020/07/02
4990
NYOJ——————数的长度(斯特林公式的应用)
数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述     N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)? 输入首行输入n,表示有多少组测试数据(n<10) 随后n行每行输入一组测试数据 N( 0 < N < 1000000 )输出对于每个数N,输出N!的(十进制)位数。样例输入 3 1 3 32000 样例输出 1 1 130271 来源ACM教程上传者rooot     此题
Gxjun
2018/03/21
7580
长度未知的数组大小
malloc 和 calloc都可以被用于申请堆上的空间。 malloc 和 calloc主要有两点不同:
小飞侠xp
2021/04/13
2.5K0
长度最小的子数组
给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回0。
WindRunnerMax
2020/08/27
1.8K0
数组长度计算_c语言计算数组长度的函数
(1)sizeof 方法:sizeof(数组名)/ sizeof(数组类型名) 说明:数组占用字节除以数组类型所占字节,结果为数组元素个数 (2)strlen 说明:strlen,求字符串有效长度 方法:strlen(字符数组名) //结果为字符数组有效字符长度,不包含末尾的’ /0′
全栈程序员站长
2022/09/20
2.9K0
数组——209.长度最小的子数组
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
向着百万年薪努力的小赵
2022/12/02
1.7K0
HashMap中数组的长度为什么要设计成2次幂?
下面这个程序简单的模拟了,当数组长度分别为15、16时,添加100个元素所计算出的下标位置。这100个元素对应的hashcode分别从0-100递增
敲得码黛
2021/02/22
9540
HashMap中数组的长度为什么要设计成2次幂?
java数组定义长度_JAVA数组的定义
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139665.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
4.1K0
乘积小于k的连续子数组个数
链接: https://leetcode-cn.com/problems/subarray-product-less-than-k/
用户3578099
2022/06/10
4590
乘积小于k的连续子数组个数
滑动窗口之乘积小于k的子数组
下面一共有两种写法,第一种是按自己理解写的,是过了的,但是 感觉懂了但没完全懂。。。(意思是 我好像懂了滑动窗口 但是写的不规律不条理 好像没完全懂。。);第二种是更条理的解法,有助于更好的理解~
xinxin-l
2022/03/30
7360
java指定长度数组长度_Java声明数组时不能指定其长度[通俗易懂]
长度The First Folio was published after the death of W. Shakespeare.
全栈程序员站长
2022/09/05
2.1K0
python返回数组(list)长度的方
Python返回数组(List)长度的方法 array = [0,1,2,3,4,5] print len(array)
py3study
2020/01/03
3.2K0
209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, num
CaesarChang张旭
2021/06/21
1.6K0
209. 长度最小的子数组
209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的子数组。如果不存在符合条件的子数组,返回 0。
张伦聪zhangluncong
2022/10/26
1.1K0
209.长度最小的子数组
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名,转载请标明出处 最后编辑时间为: 2022/01/02 02:47
用户9347382
2022/01/10
1.2K0
长度最小的子数组+相关练习
INT32_MAX可以把它认为在limits.h下面的一个宏,自己可以去敲一下看看,它的值到底是多大。
亦小河
2022/11/14
1.4K0
长度最小的子数组+相关练习
LeetCode 713. 乘积小于K的子数组(滑动窗口)
1. 题目 给定一个正整数数组 nums。 找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2] 并不是乘积小于100的子数组。 说明: 0 < nums.length <= 50000 0 < nums[i] < 1000 0 <= k < 10
Michael阿明
2020/07/13
5310
C语言如何计算数组的长度
那就是当数组作为实参传递到另一个函数时, 而这个函数执行了上面同样的方法, 结果出来的不会正确的数组的长度 :
全栈程序员站长
2022/09/18
2.7K0
C语言如何计算数组的长度
leetcode-209-长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。
chenjx85
2018/09/29
1.4K0
LeetCode 0209. 长度最小的子数组
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 numsl, numsl+1, ..., numsr-1, numsr ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
Yano_nankai
2021/02/25
5750
LeetCode 0209. 长度最小的子数组

相似问题

普林顿!并发惊慌

15

普林顿用get而不是set工作,为什么?

35

普林顿!打印2位整数

11

普林不在詹金斯工作

12

普林顿!错误:预期文本/格式参数必须是字符串文本

46
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文