小编Moe*_*ius的帖子

如何在Vim中设置默认字体大小?

我正在尝试使用Vim配置GUI的默认设置.我已经在网上进行了研究,但我发现并尝试的所有解决方案都没有用.

以下是我尝试过的一些内容(在.vimrc文件中):

set guifont = Monaco:h20
set guifont=Monospace 20
Run Code Online (Sandbox Code Playgroud)

其实我不关心摩纳哥的字体.

vim fonts

88
推荐指数
2
解决办法
12万
查看次数

展开时无法摆脱借来的内容

这是我试图执行的代码:

fn my_fn(arg1: &Option<Box<i32>>) -> (i32) {
    if arg1.is_none() {
        return 0;
    }
    let integer = arg1.unwrap();
    *integer
}

fn main() {
    let integer = 42;
    my_fn(&Some(Box::new(integer)));
}
Run Code Online (Sandbox Code Playgroud)

(在Rust操场上)

我收到以下错误:

error[E0507]: cannot move out of borrowed content
 --> src/main.rs:5:19
  |
5 |     let integer = arg1.unwrap();
  |                   ^^^^ cannot move out of borrowed content
Run Code Online (Sandbox Code Playgroud)

我看到已经有很多关于借阅检查器问题的文档,但在阅读之后,我仍然无法弄清楚问题.

为什么这是一个错误,我该如何解决?

rust borrow-checker

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

将char转换为大写

我有一个包含单个变量的变量char.我想将其转换char为大写.但是,该to_uppercase函数返回rustc_unicode::char::ToUppercase结构而不是a char.

rust

11
推荐指数
2
解决办法
3639
查看次数

Ionic作为Web服务器

我有一个离子项目,我想让它像一个Web服务器(比如mamp + php)一样工作.

由于离子能够在浏览器中显示项目(使用离子服务),我很确定它能够做到这一点.我有一个简单的ovh服务器.

我怎么能这样做?

web-hosting ionic-framework ovh

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

如何克隆函数指针

我有一个结构,其中一个字段是一个函数指针.我想实现该Clone结构的特征,但我不能,因为如果它们至少有一个参数,则无法克隆函数指针:

fn my_fn(s: &str) {
    println!("in my_fn {}", s);
}

type TypeFn = fn(s: &str);

#[derive(Clone)]
struct MyStruct {
    field: TypeFn
}

fn main() {
    let my_var = MyStruct{field: my_fn};
    let _ = my_var.clone();
}
Run Code Online (Sandbox Code Playgroud)

链接到游乐场.

rust

7
推荐指数
2
解决办法
1623
查看次数

为结构体实现 IntoIterator,迭代其 HashMap 属性

我有一个具有 type 属性的结构HashMap。我想实现IntoIterator这个结构的特征,以便我可以迭代它的HashMap属性。问题是我陷入了终生地狱:

pub struct ProcessList {
    map: HashMap<ProcessPtr, usize>,
}

impl ProcessList {
    pub fn new() -> ProcessList {
        ProcessList {
            map: HashMap::new(),
        }
    }

    pub fn add(self, process: ProcessPtr, nb: usize) {
        match self.map.contain_key(process) {
            true => self.map[process] += nb,
            false => self.map.insert(process, nb),
        };
    }
}

impl<'a> IntoIterator for ProcessList {
    type Item = (&'a ProcessPtr, &'a usize);
    type IntoIter = Iter<'a, ProcessPtr, usize>;

    fn into_iter(self) -> Self::IntoIter {
        self.map.into_iter()
    } …
Run Code Online (Sandbox Code Playgroud)

rust

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

Scala mongodb:查询结果列表

我成功地将数据插入到mongodb数据库中,但我不知道如何从查询中提取数据.我使用默认的scala mongodb驱动器:

"org.mongodb.scala"%%"mongo-scala-driver"%"1.1.1"

文件似乎包含错误,顺便说一句.这行是从文档中复制粘贴时出现编译错误:

collection.find().first().printHeadResult()
Run Code Online (Sandbox Code Playgroud)

这是我查询集合的方式:

collection.find()
Run Code Online (Sandbox Code Playgroud)

如何将它转换为我可以迭代和处理的对象的scala集合?谢谢

scala mongodb

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

使用Any for Union类型是个好主意吗?

我想创建一个类生成器(适用于Avro模型).我有一个问题,因为有时我生成的类的字段可能是许多不同类型中的一个,让我们说它可能是一个Int或一个String或其他什么.简单的想法是使用类型创建该字段,Any并在运行时检查它是否正常.

问题是使用Any丢弃scala类型系统的一些强大功能.代码中的一些错误将不会在编译时被捕获(如果我给一个List期望a StringInt覆盖的函数Any).

例如 :

我的课程有这样的描述:

{"className" : "MyClass", "fields" : [
  { "fieldName" : "myField", "type" : ["String", "Int"]}
]}
Run Code Online (Sandbox Code Playgroud)

从这个描述中,我创建了这个类:

class MyClass(myField: Any)
Run Code Online (Sandbox Code Playgroud)

我想创建这样的东西:

class MyClass(myField: String or Int)
Run Code Online (Sandbox Code Playgroud)

我应该停止使用Any吗?Any在scala社区中使用通常被认为是个好主意吗?

scala

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

Idris REPL:创建功能

如何在Idris REPL中编写函数?如果我longer: string -> string -> string在REPL中键入函数定义,我收到以下错误消息:

(input):1:7: error: expected: "$",
    "&&", "*", "*>", "+", "++", "-",
    "->", ".", "/", "/=", "::", "<",
    "<$>", "<*", "<*>", "<+>", "<<",
    "<=", "<==", "<|>", "=", "==",
    ">", ">=", ">>", ">>=", "\\\\",
    "`", "|", "||", "~=~",
    ambiguous use of a left-associative operator,
    ambiguous use of a non-associative operator,
    ambiguous use of a right-associative operator,
    end of input, function argument
longer: string -> string -> string<EOF>
      ^
Run Code Online (Sandbox Code Playgroud)

read-eval-print-loop idris

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

应用于列表中的Cats.sequence错误

我想转换List[Either[String, Int]]en 的列表Either[String, List[Int]].为此,我想使用Cats.sequence:

/* for ammonite users
interp.load.ivy("org.typelevel" %% "cats-core" % "1.0.1")

@
*/

import cats.instances.list._
import cats.instances.either._
import cats.syntax.traverse._

val seqCorrect: List[Either[String, Int]] = List(Right(1), Right(2), Right(3))

val result1 = seqCorrect.sequence
Run Code Online (Sandbox Code Playgroud)

但是我有以下错误:

Cannot prove that Either[String,Int] <:< G[A].
val result1 = seqCorrect.sequence
                         ^
Run Code Online (Sandbox Code Playgroud)

我发现错误消息非常无益.我该如何解决这个问题?

scala scala-cats

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