小编rau*_*sch的帖子

我如何收集到阵列?

我想调用.map()一系列枚举:

enum Foo {
    Value(i32),
    Nothing,
}

fn main() {
    let bar = [1, 2, 3];
    let foos = bar.iter().map(|x| Foo::Value(*x)).collect::<[Foo; 3]>();
}
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨:

error[E0277]: the trait bound `[Foo; 3]: std::iter::FromIterator<Foo>` is not satisfied
 --> src/main.rs:8:51
  |
8 |     let foos = bar.iter().map(|x| Foo::Value(*x)).collect::<[Foo; 3]>();
  |                                                   ^^^^^^^ a collection of type `[Foo; 3]` cannot be built from an iterator over elements of type `Foo`
  |
  = help: the trait `std::iter::FromIterator<Foo>` is not implemented for `[Foo; 3]`
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

rust

15
推荐指数
9
解决办法
2万
查看次数

榆树中的范围表达式

Elm支持[1..100],但是如果我尝试['a'..'z'],编译器会给我一个类型不匹配(期望一个数字,得到一个Char).有没有办法让这项工作?

elm

9
推荐指数
1
解决办法
613
查看次数

触摸restart.txt时,Passenger Standalone不会重新启动

我以这种方式构建了一个类似于Capistrano的小部署脚本,它将Rails应用程序检出到一个带时间戳的目录,并current在一切顺利时设置链接.问题是,在触摸tmp/restart.txt时,没有任何反应,我想知道它是否与之后在时间戳目录中启动的Passenger Standalone有关cd /path/to/app/current.因此,如果我更新当前链接,乘客不会看到该链接的新目标目录中发生的事情,但保留在旧目标目录中,认为生活是美好的.

这些假设是否正确,如果是,我该怎么办?如果没有,我该怎么办?

ruby ruby-on-rails passenger

5
推荐指数
1
解决办法
1531
查看次数

从Hash继承的类时,从initialize方法中获取类名

我有一个继承自的类Hash.当这个类本身被继承时,我想知道initialize方法中继承类的类名.当我打电话给self我时{},不知道该name方法.

class Foo < Hash
  def initialize
    # Here i want to know that the class is Foo
  end
end
Run Code Online (Sandbox Code Playgroud)

我如何获得课程名称?

ruby introspection

3
推荐指数
1
解决办法
851
查看次数

在Rust中访问newtype

我正在使用newtype,包装整数数组:

struct Foo([int, ..5]);
Run Code Online (Sandbox Code Playgroud)

显然,因为我不能简单地这样做:

let foo = Foo([1,2,3,4,5]);
let bar = foo[2];
Run Code Online (Sandbox Code Playgroud)

我访问包装数组的准确程度如何?

rust

2
推荐指数
1
解决办法
992
查看次数

如何定义枚举类型,包括Haskell中已存在的类型

我正在实施Go in Haskell游戏.我有一个类型Point,指定网格上的一个点:

data Point = Point (Int, Int)
Run Code Online (Sandbox Code Playgroud)

我有另一种类型,代表一种游戏.它包含的其他内容moves,基本上是Points 的列表.现在我需要扩展移动的定义还包括玩家通过的可能性,所以我尝试了这个:

data Move = Pass | Point (Int, Int)
Run Code Online (Sandbox Code Playgroud)

可以理解的是,编译器并不喜欢这样,它抱怨道Multiple declarations of ‘Point’.但是,仅定义PointMove也似乎不对,因为我并不专门用于Point移动的上下文中.能够通过这些地方会很奇怪.

我可以在这里使用Maybe,但我想比这更具体.我怎么做?

haskell

2
推荐指数
1
解决办法
57
查看次数

如何裁剪字符串而不复制它

我想从一个非常大的字符串的开头剪切一些字符.为了节省一些内存和时间,我想避免复制它,但只是让字符串从后面的索引开始,就像在C中通过递增指向字符串(数组)的指针一样容易实现.

那可能吗?

ruby

1
推荐指数
1
解决办法
298
查看次数

标签 统计

ruby ×3

rust ×2

elm ×1

haskell ×1

introspection ×1

passenger ×1

ruby-on-rails ×1