147得票5回答
能否确定lambda的参数类型和返回类型?

给定一个lambda函数,是否有可能确定它的参数类型和返回值类型?如果可以,怎么做? 基本上,我想要一个名为lambda_traits的工具,可以按以下方式使用: auto lambda = [](int i) { return long(i*10); }; lambda_traits&...

26得票2回答
在Scala中,使用特质中的抽象值是否有问题?

我有trait Invoker { val method: Method } Intellij IDEA的代码检查警告我“trait中使用了抽象值”。所有内容都编译正常。在trait中使用抽象值有什么问题吗?如果有,那么我应该如何指定trait的所有扩展者必须定义一个方法属性?

22得票3回答
在Scala中如何返回迭代器?

我该怎么做才能从一个方法/类返回一个迭代器?如何将这种特性添加到一个类中?

31得票2回答
在Rust中,"Box<Fn() + Send + 'static>"是什么意思?

Box&lt;Fn() + Send + 'static&gt; 在 Rust 中是什么意思? 在我阅读高级类型章节时偶然发现了这个语法。 Send 是一个 trait,但是将生命周期(在这种情况下为'static)与 trait(Send)相加意味着什么?另外,Fn() 是什么意思?

42得票4回答
PHP类型提示特征

我有一个特征。为了创造力,我们称这个特征为“Trait”:trait Trait{ static function treat($instance){ // treat that trait instance with care } } 现在,我...

15得票2回答
创建装箱特质的机制是如何工作的?

我很难理解装箱特质的值是如何产生的。考虑以下代码: trait Fooer { fn foo(&amp;self); } impl Fooer for i32 { fn foo(&amp;self) { println!("Fooer on i32!"); } } fn ...

24得票5回答
使用PHP 5.4构建单例Trait

我们最近讨论了是否可能构建一个“trait Singleton”PHP Traits,并试图实现它,但在构建时遇到了一些问题。 这是一项学术练习。我知道在 PHP 中单例模式几乎没有用途,且应该只创建一个实例,但只是为了探索 traits 的可能性。 &lt;?php trait Sing...

11得票2回答
函数指针与Fn特质对象

fn do_twice(f: fn(i32) -&gt; i32, arg: i32) -&gt; i32 { // definition f(arg) + f(arg) } do_twice(|x| x + 1, 5) // call 此函数接受闭包和函数指针。它以函数指针作为...

8得票1回答
为什么Rust不允许在容器内部进行特质对象的强制转换?

我有一个 Vec&lt;Box&lt;T&gt;&gt;,其中 T 实现了 Foo 接口。为什么我不能将其强制转换为 Vec&lt;Box&lt;Foo&gt;&gt;,即使我可以将任何类型为 Box&lt;T&gt; 的东西强制转换为 Box&lt;Foo&gt;?为什么下面的代码无法编译?...

374得票6回答
什么是密封特质(sealed trait)?

《Scala编程》中有关于密封类的描述,但并没有提到密封特质。 在哪里可以找到更多关于密封特质的信息? 我想知道,密封特质和密封类是否相同? 如果不同,它们之间有什么区别? 何时使用密封特质是一个好主意(何时不是)?