traits相关内容

如何从 Java 调用具体的 Scala 特征方法?

我有一个 Java/Scala 混合 Maven 项目.我需要重用 Saddle 方法 make,该方法具体定义为名为 Index 的特征的一部分.该方法定义为 here 如果这有任何帮助.我曾尝试使用 Index.make 或 Index$class.make 从 java 调用该方法,但在这两种情况下,我都收到 error: cannot find symbol 编译错误. 有没有办法从 ..
发布时间:2021-09-09 19:05:45 Java开发

Scala:需要类类型但找到了 T

我发现了这个特定问题的类似问题,但是问题是由于有人试图直接实例化 T.在这里,我试图创建一个 trait,它是一个通用接口,用于扩展类并使用 classOf[T] 将它们自动存储在 Riak 等数据库中.使用 Scala 2.10. 这是我的代码: trait RiakWriteable[T] {/*** Riak 中保存类数据的数据桶名称*/def bucketName: 字符串/*** ..
发布时间:2021-09-09 19:05:42 其他开发

在案例类的特征中定义“复制"方法

给定的简化代码示例: 密封性状 A {val c1: 字符串val c2: 整数def copy[Z 如何在特征 A 中定义 copy 方法,以便它匹配为案例类和“目标"文件生成的方法?给定定义会进行类型检查并抱怨 B 和 C 类中缺少方法 copy. 解决方案 scala 编译器不会为定义名为 copy 的方法的 case 类生成复制方法. scala -Xprint:typer ..
发布时间:2021-09-09 19:05:40 其他开发

我们可以自动导出用户定义的特征吗?

我有一个这样的结构 #[derive(CustomTrait)]结构示例{v:Vec u8 ,} 我的性格是这样的 trait CustomTrait {...} 我可以做以上的事情吗?它为我抛出了一个错误. 我想要类似于 Clone 特性的东西.这可以用 Rust 实现吗? 解决方案 #[derive(Foo, Bar)] 是 #[derive_Foo] #[derive_ ..
发布时间:2021-09-09 19:05:37 其他开发

FromStr 特性不暴露生命周期的原因是什么?

Rust FromStr trait 是这样定义的 pub trait FromStr {输入错误;fn from_str(s: &str) ->结果;} 它没有命名它的生命周期,并且不能为包含对源字符串的引用的东西实现该特征,例如: struct MyIterator{cur_pointer: &'a str}impl'a>MyIterator 的 FromStr{输入 Err = i32 ..
发布时间:2021-09-09 19:05:34 其他开发

使用 impl Trait 时如何获得 Deref 强制(采取 2)

这是一个特征(针对问题进行了简化),我想为每个表现得像切片的类型实现它: trait SliceLike {类型项目;///计算并返回(拥有)集合中的第一项.fn first_item(&self) ->自我::项目;} 注意Item类型是关联类型;我希望 SliceLike 的每种类型都具有唯一的元素类型. 这是一个全面实施的尝试: 使用 std::ops::Deref;impl<T ..
发布时间:2021-09-09 19:05:16 其他开发

盒子<T>Rust 中的 &T

如果我有一个 Box,我该如何调用需要 trait 对象的函数?换句话说: trait T { ... }fn func(t: &T) { ... }fn some_other_func() {b:方框 T ;//假如//这些工作,但有没有更好的方法?func( &*b );//1函数(借::借(&b));//2} 1 和 2 似乎都错了.我是否遗漏了一些明显的东西? 解决方案 ..
发布时间:2021-09-09 19:05:13 其他开发

如何获得在 Rust 中实现特定特征的类型列表?

我想知道一个实现std::io::Write的结构体;是在某个文件中描述的吗? 解决方案 当您查找 API 时 APIcode>std 你可以在那里搜索你的特征(例如 std::io::Write). 当您向下滚动到“Implementors" 您将在 std 中看到实现该特征的所有结构体/枚举. 为了获得更好的概览,您可以使用 + 或 - 键折叠所有部分并获得一个不错的概览, ..
发布时间:2021-09-09 19:05:07 其他开发

在继承自另一个特征的特征中指定关联类型

我开始着手我的第一个更雄心勃勃的 Rust 项目,并努力解决我在用于学习的任何资源和教程中都没有遇到的问题.问题的标题捕获了抽象问题,但对于示例,我将使用我正在与之抗争的具体示例. 对于我的项目,我需要与不同的第三方服务进行交互,我决定使用actix 框架作为我领域中不同参与者的抽象.框架定义了必须实现的 Actor trait: 使用actix::prelude::*;struct My ..
发布时间:2021-09-09 19:05:04 其他开发

如何使用 `index_mut` 来获取可变引用?

即使我为我的结构实现了 IndexMut,我也无法获得对结构内部向量元素的可变引用. 使用 std::ops::{Index, IndexMut};结构测试{数据:Vec T ,}实施索引用于测试 {类型输出 = T;fn index(&'a self, idx: usize) ->&'a T {返回 &self.data[idx];}}实施IndexMut用于测试 ..
发布时间:2021-09-09 19:05:01 其他开发

为什么 String 不实现 From<&String>?

背景 我知道在 Rust 中人们更喜欢 &str 而不是 &String.但在某些情况下,我们只获得了 &String. 一个例子是当你调用 std::iter::Iterator::peekable 时.返回值是一个 Peekable 对象,它将原始迭代器包装到其中并为您提供一个额外的方法 peek. 这里的重点是 peek 只给你一个对迭代器项的引用.因此,如果您有一个包含 ..
发布时间:2021-09-09 19:04:57 其他开发

不满意的 trait bound 涉及关联类型

代码 pub trait Q{fn f();}酒吧特质 A {I型;F型:Q;}//这有效(1)////pub struct S//在哪里//T: A//{//不满足的 trait bound (2)pub struct S 在哪里T:A,{吨:吨,} 编译失败: error[E0277]: trait bound `::F: Q` 不满足--> ..
发布时间:2021-09-09 19:04:54 其他开发

如何在 Rust 中按值传递装箱的 trait 对象?

我正在编写一些代码,并且有一个特性,它带有一个按值获取 self 的方法.我想在 Box 的 trait 对象上调用这个方法(消耗 Box 及其值).这可能吗?如果是这样,如何? 在代码方面,一个最小的例子看起来像下面的(不完整的)代码: trait 消耗品 {fn 消耗(自我)->u64;}fn consumer_box(ptr: Box) ->u64 {//我可以在这里放什么?} 我 ..
发布时间:2021-09-09 19:04:51 其他开发

如何转换 Option到零或一个元素的迭代器?

我正在尝试将一个数字解码为一个整数,如果它不是一个数字,则获得一个仅针对该数字的迭代器或一个空迭代器.我试着这样做: let ch = '1';ch.to_digit(10).map(once).unwrap_or(empty()) 这不会编译.我收到以下错误消息: 错误[E0308]:类型不匹配-->src/lib.rs:6:41|6 |ch.to_digit(10).map(once). ..
发布时间:2021-09-09 19:04:48 其他开发

tokio::net::TcpStream 如何实现 tokio::prelude::Stream?

在 tokio.rs 文档中,我们看到以下片段 //将socket流拆分成可读可写的部分让(读者,作者)= socket.split();//将字节从读取器复制到写入器让金额 = io::copy(reader, writer); 我假设 split 确实是 Stream::split,但我无法弄清楚这个特性如何应用于 TcpStream 鉴于流页面没有提到 TcpStream 和副反之. ..
发布时间:2021-09-09 19:04:43 其他开发