小编mjk*_*fer的帖子

使用移动的值

我正在尝试计算Rust中的第10,001个素数(Project Euler 7),作为其中的一部分,我检查整数是否为素数的方法引用了一个向量.但是,当我尝试引用向量时,我收到以下错误:

fn main() {
    let mut count: u32 = 1;
    let mut num: u64 = 1;
    let mut primes: Vec<u64> = Vec::new();
    primes.push(2);

    while count < 10001 {
        num += 2;
        if vectorIsPrime(num, primes) {
            count += 1;
            primes.push(num);
        }
    }
}

fn vectorIsPrime(num: u64, p: Vec<u64>) -> bool {
    for i in p {
        if num > i && num % i != 0 {
            return false;
        }
    }

    true
}
Run Code Online (Sandbox Code Playgroud)

我的源代码如下:

error[E0382]: use of moved value: …
Run Code Online (Sandbox Code Playgroud)

rust

36
推荐指数
3
解决办法
2万
查看次数

我必须将一个'u8`转换为能够在我的向量中使用它作为索引吗?

我在Rust中有一个2D向量,我试图用动态u8变量进行索引.我正在尝试做的一个例子如下:

fn main() {
    let mut vec2d: Vec<Vec<u8>> = Vec::new();

    let row: u8 = 1;
    let col: u8 = 2;

    for i in 0..4 {
        let mut rowVec: Vec<u8> = Vec::new();
        for j in 0..4 {
            rowVec.push(j as u8);
        }
        vec2d.push(rowVec);
    }

    println!("{}", vec2d[row][col]);
}
Run Code Online (Sandbox Code Playgroud)

但是,我得到了错误

error: the trait `core::ops::Index<u8>` is not implemented for the type `collections::vec::Vec<collections::vec::Vec<u8>>` [E0277]
Run Code Online (Sandbox Code Playgroud)

在后来的Rust版本中,我得到了

error[E0277]: the trait bound `u8: std::slice::SliceIndex<[std::vec::Vec<u8>]>` is not satisfied
  --> src/main.rs:15:20
   |
15 |     println!("{}", vec2d[row][col]);
   |                    ^^^^^^^^^^ slice …
Run Code Online (Sandbox Code Playgroud)

rust

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

如何在Meteor中创建自定义登录字段?

在meteor中,我目前正在使用默认登录字段.但是,我希望用户在创建帐户时创建唯一的用户ID.我可以硬编码,但我想知道是否有办法通过某种方式编辑loginButton字段来做到这一点.是否有人知道如何添加额外的字段,用户注册将被强制填写?如姓名,用户名等?

javascript meteor

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

//和http://之间的区别

我知道这HTTP是超文本传输​​协议,我知道这是(一起HTTPS)访问网站的方式.但是,//做什么呢?例如,要访问Google的jQuery副本,可以使用url //ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js,而不是http://....

究竟有什么区别?只是//表明了什么?

谢谢.

url https protocols http

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

陨石(mrt)命令什么都不做

我只需要重新安装linux到我的电脑,所以我一直在设置我的开发环境.我之前能够使用流星与陨石,但现在mrt命令没有做任何事情.它不会抛出错误或任何东西,我安装它sudo -H npm install -g meteorite然后,当我键入时mrt,它看起来像这样:

~ $ mrt
~ $
Run Code Online (Sandbox Code Playgroud)

我看到了一些类似的问题,但没有解决方案.我想我会尝试自己建造它,但我希望有人可能已经有了答案

linux node.js linux-mint meteor meteorite

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

计算特定用户在Github中的所有项目中写入的总行数

我想知道在Github中是否有办法计算特定用户在其所有项目中编写的代码行总数.

git log --author="<author>" --oneline --shortstat 会列出给定仓库的代码量,但我想知道是否有办法列出用户曾经推送给Github的所有代码.

git github

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

factory_boy 提取原始 kwargs

我正在建造一个factory_boy可以生成 django 模型的工厂。我想看看用户输入的内联参数。我的工厂本身看起来像这样

class SomeFactory(factory.django.DjangoModelFactory):

    name = factory.Sequence(lambda n: 'Instance #{}'.format(n))
    some_other_thing = factory.SubFactory(SomeOtherFactory)

    class Meta:
        model = SomeModel
Run Code Online (Sandbox Code Playgroud)

现在用户可以说它s = SomeFactory()会正常工作,但我想检测用户是否输入了他们自己的参数。例如,判断用户是否传入了自己的名字,如s = SomeFactory(name='Matt')

到目前为止我尝试过的是

  • __init__SomeFactory课堂上 编写我自己的函数
    • 这会被神秘地覆盖,并且在我打电话s = SomeFactory()时也不会被调用,也不会在我打电话时被调用s.__init__()
  • 覆盖__new__方法也是如此
  • 覆盖不好的名字 _adjust_kwargs
    • 这为我提供了所有字段kwargs,而不仅仅是用户定义的字段。例如,调用s = SomeFactory(name='Matt'),我会得到一个kwargs带有nameand键的字典some_other_thing,这使得无法告诉输入他们自己的参数与否
  • 覆盖 _create
    • 仍然遇到与覆盖相同的问题_adjust_kwargs,因为kwargs它不包含原始kwargs参数,而是包含所有参数

我认为我所追求的很多功能都在factory_boy's内被黑盒化StepBuilder(我怀疑它在instantiate方法中),但我不知道如何修改它来做我想做的事。

有没有人对如何找出kwargs最初在调用中设置的有任何想法s = …

python django factory-boy

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

Web Scrape Meteor Pages

我正在尝试编写一个擦除流星网页的应用程序.这是相当困难的,因为流星网页最初完全呈现为Javascript.有没有办法用某种刮刀渲染页面?

如果有帮助的话,可能会用节点来做.

谢谢

node.js web-scraping meteor

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

基于设置的Django Pytest测试URL

/docs在django中有一个端点,我只想DEBUG = True在设置中可见- 否则,它应该抛出404.我的设置看起来像这样

urls.py

urlpatterns = ...

if settings.DEBUG:
    urlpatterns += [
            url(r'^docs/$', SwaggerSchemaView.as_view(), name='api_docs'),
    ]
Run Code Online (Sandbox Code Playgroud)

在做测试,不过,Django不自动重新加载urls.py,这意味着简单地覆盖DEBUGTrueFalse不能正常工作.

我的测试看起来像这样

@override_settings(DEBUG=True)
@override_settings(ROOT_URLCONF='config.urls')
class APIDocsTestWithDebug(APITestCase):
    # check for 200s
    ...

@override_settings(DEBUG=False)
@override_settings(ROOT_URLCONF='config.urls')
class APIDocsTestWithoutDebug(APITestCase):
    # check for 404s
    ...
Run Code Online (Sandbox Code Playgroud)

现在这里是奇怪的部分:当我使用pytest path/to/test.py::APIDocsTestWithDebug和单独运行测试时pytest path/to/test.py::APIDocsTestWithoutDebug,两个测试都通过了.但是,如果我将测试文件作为一个整体运行(pytest path/to/test.py),则APIDocsTestWithDebug总是失败.它们单独工作但不能一起工作的事实告诉我,url覆盖是有效的,但是当测试串联时,有一些错误会让事情变得混乱.我想知道是否有人遇到过类似的问题,或者有一个完全不同的解决方案,或者可以给我一些关于我做错的提示.

python django pytest urlconf

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

将Meteor文件划分为客户端和服务器文件夹

我正在用meteor编写程序,我想知道如何将单个流星JavaScript文件(例如在'meteor'命令上生成的文件)拆分为客户端和服务器文件夹(client.js,server. js等).我没有找到任何好的指南.有人知道吗?谢谢

javascript meteor

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

while循环可以计算出一个值吗?

我正在学习Rust,今天我偶然发现能够通过if/ else表达式分配变量.例如:

let y = 5;

let x = if y > 20 { 20 } else { y };
Run Code Online (Sandbox Code Playgroud)

有没有办法用while循环来做到这一点?我试过了:

fn main() {
    let mut n = 0;

    let mut num = 0;

    num += while n < 10 {
        n += 1;
        5
    };
}
Run Code Online (Sandbox Code Playgroud)

期望num最终将等于50,while循环num每次迭代递增5,但我得到以下错误

error[E0308]: mismatched types
 --> src/main.rs:8:9
  |
8 |         5
  |         ^ expected (), found integral variable
  |
  = note: expected type `()`
             found …
Run Code Online (Sandbox Code Playgroud)

loops rust

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