小编use*_*366的帖子

如何导入数据集(使用 roxygen 指令)

在使用 roxygen2 的“R”包中,我在我提供的示例代码中使用了内置数据集。

在构建和检查包时,我得到

Consider adding
  importFrom("datasets", "CO2")
  importFrom("grDevices", "dev.list", "dev.off")
  ...
Run Code Online (Sandbox Code Playgroud)

然后我将以下行添加到我的代码中:

#' @importFrom datasets CO2
Run Code Online (Sandbox Code Playgroud)

对源进行 roxygenizing 后,NAMESPACE 包含

importFrom(datasets,CO2)
Run Code Online (Sandbox Code Playgroud)

但是,检查包然后产生:

Error : object ‘CO2’ is not exported by 'namespace:datasets'
Run Code Online (Sandbox Code Playgroud)

?CO2 告诉我 CO2 位于 package:datasets 中。

这里出了什么问题?我使用 R 3.3.0 和新安装的 roxygen2。

谢谢你的帮助。

import r dataset roxygen2

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

防止乳胶文档\ item中的分页符

我有一个包含枚举的长文件。每个项目都由几行组成,并且可能还包括其他元素,例如图形和列表。文档类型要求所有这些项目都显示在单个页面上,并且项目内没有分页符。页面底部未使用的空白是可以接受的。

这是一个例子

\documentclass[a5paper,12pt]{article}
\usepackage{blindtext}

\begin{document}
\begin{enumerate}
  \item \blindtext
  \item \blindtext % don't break this apart
  \item very long text here 
\end{enumerate}
\end{document}
Run Code Online (Sandbox Code Playgroud)

我知道有关samepage环境以及解决方案的信息minipage。问题是我无法将个人包装\item到需要的这些环境中。

needspace 可以,但是随后我需要手动确定每个项目的垂直范围(至少这是我的想法)。

latex page-break

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

QML RowLayout 不会根据内容动态调整大小

我对 Qt Widgets 有一些经验,但最近才开始使用 QML。

我面临的问题是我希望 QML 中定义的一些布局能够自动调整以适合其内容。这是可行的,但不是动态的,即如果内容发生变化,布局不会适应。使用旧式(非 QML)布局/小部件方法,这会自动发生。

这是一个示例(我的代码看起来不同并且由不同的文件组成,但我将此 MWE 粘贴在一起来演示问题):

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.2

Window {
    id: root
    visible: true
    width: 640
    height: 480
    property var nbx: 3

    Column {
        RowLayout {
            Repeater {
                model: 3
                Rectangle {
                    width:  childrenRect.width     
                    height: childrenRect.height
                    color: "green"
                    ColumnLayout {
                        Rectangle {
                            height: 10
                        }
                        RowLayout {
                            Repeater {
                                model: root.nbx
                                Rectangle {
                                    width:  20
                                    height: 20
                                    color: "orange"
                                }
                            }
                        }
                    }
                } …
Run Code Online (Sandbox Code Playgroud)

layout qt qml

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

rlanguageserver:禁用特定的 linter 并避免换行

我正在使用 emacs 和 lsp 模式。为了编辑 .R 文件,我使用 rlanguageserver。

这很好用。但是,我想禁用一些规则。例如,我确实想决定我的变量名称格式,即禁用“变量名称应该是snake_case”消息。

.lintr在我的主目录中放置了一个文件,内容如下:

linters: with_defaults(snake_case_linter = NULL)
Run Code Online (Sandbox Code Playgroud)

但没有任何效果。为什么?

另外,当我重新缩进一个区域时,我想重新缩进而不添加或删除换行符,即我想手动选择换行符。我怎样才能实现这个目标?

emacs r linter language-server-protocol

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

无法为整数类型实现泛型 fn

我在 C++ 方面经验丰富,并开始尝试 Rust。

尝试实现一些简单的通用函数时,我遇到了以下问题:

use std::ops::BitAnd;
use std::cmp::Eq;

fn is_odd_i32(x: u32) -> bool {
    if x & 1_u32 == 1_u32 { true } else { false }
}

fn is_odd<T: BitAnd + Eq>(x: &T) -> bool {
    if (*x & (1 as T)) == (1 as T) { true } else { false }
}

fn main() {
    println!("is_odd -> '{}'", is_odd(&23_u64));
    println!("is_odd -> '{}'", is_odd(&23_u32));
}

Run Code Online (Sandbox Code Playgroud)

问题似乎是按位与结果与 0 或 1 的比较。我知道要使其工作,1(或 0)必须可转换为类型 T,但不知道如何实现这一点。我也尝试过T::try_from(1_u8).ok().unwrap(),但这也不起作用。

我不明白如何解决这个问题...

我得到的错误是:

error[E0369]: …
Run Code Online (Sandbox Code Playgroud)

generics traits rust

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

在 std::set 中按键查找

我挣扎于std::set应该支持自定义比较操作的。我的目标是能够仅使用 key 参数调用 find ,而无需先创建 set 类型的对象。像这样的东西:

#include <set>
#include <cstdint>
#include <vector>

class TestItem {
  public:
    std::uint64_t id;          // key
    std::vector<double> areas; // some other data
};

struct TestItemCompare {
    bool operator()(const std::uint64_t& lhs, const std::uint64_t& rhs) {
        return lhs < rhs;
    }
    bool operator()(const std::uint64_t& lhs, const TestItem& rhs) {
        return lhs < rhs.id;
    }
    bool operator()(const TestItem& lhs, const std::uint64_t& rhs) {
        return lhs.id < rhs;
    }
    bool operator()(const TestItem& lhs, const TestItem& rhs) { …
Run Code Online (Sandbox Code Playgroud)

c++ stl set c++17

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

标签 统计

r ×2

c++ ×1

c++17 ×1

dataset ×1

emacs ×1

generics ×1

import ×1

language-server-protocol ×1

latex ×1

layout ×1

linter ×1

page-break ×1

qml ×1

qt ×1

roxygen2 ×1

rust ×1

set ×1

stl ×1

traits ×1