小编use*_*234的帖子

Copy和Clone有什么区别?

这个问题似乎暗示它只是一个实现细节(memcpyvs ???),但我找不到任何明确的差异描述.

rust

103
推荐指数
4
解决办法
2万
查看次数

这意味着什么:无法为签名'"B"找到函数'A'的继承方法

我是R的新手,并通过以下消息不断收到错误:

无法为签名'"B"找到函数'A'的继承方法

在大多数情况下,我已经能够通过在线查找替代示例来解决我的问题,但我想了解错误消息的含义,以便我可以更好地理解R的工作原理.

例如,这段代码:

library("RSQLite")
con = dbConnect(drv="SQLite", dbname="database.db")
Run Code Online (Sandbox Code Playgroud)

生成此警告:

无法为签名'"character"找到函数'dbConnect'的继承方法

修复该错误后,此代码:

dbClearResult(p1)
Run Code Online (Sandbox Code Playgroud)

产生此警告:

无法为签名'"data.frame"找到函数'dbClearResult'的继承方法

有人可以解释这类错误消息试图告诉我的内容吗?

具体来说,术语"interhited","method","function"和"signature"似乎都与我从其他语言理解的概念有关,但这个错误的句子结构意味着它们在R中的含义略有不同.

r

18
推荐指数
2
解决办法
4万
查看次数

npm不支持Node.js v9.0.0

我刚刚升级了我的项目以使用Node.js v9.0.0.当我使用npm开始我的项目时,它告诉我应该升级到更新的Node版本,但我相信这是最新版本.我也相信我是最新版本的npm(5.5.1).

我需要担心这个警告吗?有没有好办法解决这个问题?

这是完整的警告:

npm WARN npm npm does not support Node.js v9.0.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8.
npm WARN npm You can find the latest version at https://nodejs.org/
Now using node v9.0.0 (npm v5.5.1)
Run Code Online (Sandbox Code Playgroud)

node.js npm

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

在C中每次使用冒号(":")

我很好奇每个上下文中冒号(":"字符)是C程序中有效的句法元素(在字符串/字符文字,注释等之外).

我尝试搜索C99规范,但":"匹配每一页,"冒号"没有找到每个用法.类似地,通过浏览玩具C 解析器(我理解lex/yacc 不能解析C)我似乎只能找到部分结果.

这些是我知道使用冒号的场景:

  • 条件运算符
  • 位字段
  • 标签

C中是否还有使用冒号的其他语言功能?

c

11
推荐指数
4
解决办法
2034
查看次数

为大型数组类型实现Debug trait

收集 Rust为大小为32或更小的数组提供Debug impl.

我还收集,我可以简单地使用较大的阵列上实现调试write!一个很长的格式说明.但我想知道是否有更好的方法.

为长度数组(例如1024)实现Debug的推荐方法是什么?

traits rust

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

在数组访问/下标中反转操作数的原因

在C中,可以反转数组下标的操作数,但仍然可以获得相同的结果.例如a[b] == b[a].这是因为(根据 C11草案N1570,§6.5.2.1/ 2)a[b]是相同的(*((a)+(b))),并且+是可交换的.有关更多信息,请参阅此问题.

是否有一个场景(在C中,没有运算符重载),交换运算[]符的操作数不会在运行时产生相同的值?那么,是否存在一个ab哪个a[b] != b[a]?(假设程序编译并且a[b] == a[b])

c arrays

8
推荐指数
2
解决办法
147
查看次数

链接到 github 上比较视图中的行

类似于如何链接到 github 上的特定行号我想链接到 github 上的一行代码。不同之处在于我想链接到差异查看器中的一行。例如,请参阅此链接:

https://github.com/git/git/commit/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/#diff-fea9abc098557219301972e6c6782b8fL9

除了提交哈希 ( 5bdb7a78...) 之外,url 锚点 ( #diff-fea9abc0...) 中还有第二个十六进制字符串,似乎指定了要更改的文件。

我希望能够生成这些链接,而无需先访问 github 并单击该行。第二个十六进制字符串 ( #diff-fea9abc0...)是如何生成的?

github

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

"溢出评估需求"是什么意思,我该如何解决?

我正在遇到可能是编译器错误的问题.但是,我不能很好地理解这个问题,以便将提议的解决方案移植到我自己的代码中.这是我的代码的简化版本:

struct Node {
    pub children: Vec<Node>,
}

fn map_nodes<F, R>(f: F, n: &Node) -> Vec<R>
where
    F: Fn(&Node) -> R,
{
    let mut v: Vec<R> = Vec::new();
    v.push(f(n));

    v.extend(n.children.iter().flat_map(|child| map_nodes(&f, &child)));

    v
}

fn main() {
    let node = Node {
        children: vec![Node { children: vec![] }, Node { children: vec![] }],
    };

    println!("Node lengths: {:?}", map_nodes(|n| n.children.len(), &node));
}
Run Code Online (Sandbox Code Playgroud)

具体来说,此代码的错误是:

error[E0275]: overflow evaluating the requirement `[closure@src/main.rs:22:46: 22:66]: std::ops::Fn<(&Node,)>`
  |
  = help: consider adding a `#![recursion_limit="128"]` attribute …
Run Code Online (Sandbox Code Playgroud)

recursion rust

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

用于Java对象的clojure.spec自定义生成器

我刚看到Rich关于clojure.spec 的一次谈话,并且真的想试试我的项目.我正在编写一系列使用eclipse CDT库解析C代码的工具,我想说明我的函数接受并发出AST对象.

我认为可以为一个函数编写一个非常基本的规范,它接受AST的根并发出所有树的叶子,如下所示:

(import '(org.eclipse.cdt.core.dom.ast IASTNode))
(require '[clojure.spec :as s])

(defn ast-node? [node] (instance? IASTNode node))
(s/def ::ast-node ast-node?)
(s/fdef leaves :args ::ast-node :ret (s/coll-of ::ast-node))
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试练习代码时,(s/exercise leaves)我收到一个错误:

Unable to construct gen at: [] for:  
xxx.x$leaves@xxx  
#:clojure.spec{:path [], :form #function[xxx.xxx/leaves], :failure :no-gen}
Run Code Online (Sandbox Code Playgroud)

如何为Java对象编写自定义生成器以完全规范和运用我的代码?

clojure clojure.spec

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

通用类型,所有权和持久数据结构

TL; DR如何在引用共享底层数据的泛型类型上构建数据结构?

这个问题是关于Rust的语义和良好的数据建模.下面的代码是对我的问题的一个(更多)微不足道的提炼,以突出我的具体问题,而不是我的实际代码.

目标是创建一个函数来构建几个包含对泛型类型的共享数据的引用的向量.在以下示例的命名法中,我希望能够返回一个可以存储Struct1's和Struct2'(由特征抽象Trait)的向量集合,但是因为(在我的实际代码中)Struct1并且Struct2相对较大并且将被存储相对频繁地在相对较多的地方,我宁愿存储对共享数据的引用,而不是将它们全部复制到一起.

我面临的当前问题(并且有许多中间修订)是:

  1. 由于数据的类型我想存储的Trait,这不是Sized我需要存储在我的向量引用
  2. 由于每个结构都将从多个向量&引用,因此需要引用
  3. 从哲学上讲,给定结构没有单一的"所有者",因此没有"正确"的地方来粘贴我的结构,因此它们不会超出build_vectors功能的范围.
    1. 我考虑过试图通过Traits我可以指向引用的全局向量来解决这个问题,不幸的是上面的问题(1)似乎排除了这个策略.

.

struct Struct1;
struct Struct2;

trait Trait { fn name(&self) -> &str; }
impl Trait for Struct1 { fn name(&self) -> &str { "Struct1" } }
impl Trait for Struct2 { fn name(&self) -> &str { "Struct2" } }

fn shallow_copy<'a>(v: &'a Vec<&'a Box<Trait>>) -> Vec<&'a Box<Trait>> {
   v.iter().map(|x|*x).collect()
} …
Run Code Online (Sandbox Code Playgroud)

rust

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

标签 统计

rust ×4

c ×2

arrays ×1

clojure ×1

clojure.spec ×1

github ×1

node.js ×1

npm ×1

r ×1

recursion ×1

traits ×1