小编Pac*_*ac0的帖子

使用magrittr和哪个

我想用magrittr的管道重写以下代码:

max(diff(which(diff(runif(50)) > 0 )))
Run Code Online (Sandbox Code Playgroud)

我直截了当的做法是:

library(magrittr)
runif(50) %>% diff > 0 %>% which %>% diff %>% max
Run Code Online (Sandbox Code Playgroud)

但这种失败是由于(第一),其中:

runif(50) %>% diff > 0 %>% which
Run Code Online (Sandbox Code Playgroud)

错误,其中(.):'which'的参数不合逻辑

我不确定为什么会发生这种错误以及为什么管道与管道连接到其他函数不同,因为"diff> 0"的输出是一个逻辑向量.

在旁注中,直言不讳地说,是否有办法进行比较

 runif(50) %>% diff %>% > 0 
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!

r which magrittr

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

本机退出时使用代码:-1073741510(0xc000013a),同时使用主要检查功能

我一直在尝试创建自己的主要检查功能,虽然奇怪的是当我调用isPrime(7)它返回1时,这很好,但是当我调用isPrime(9)时它会给我以下错误:


'Mathematics.exe':已加载'C:\ Documents and Settings\mbryant\My Documents\Visual Studio 2010\Projects\Mathematics\Debug\Mathematics.exe',已加载符号.'Mathematics.exe':加载'C:\ WINDOWS\system32 \ntdll.dll',找不到或打开PDB文件'Mathematics.exe':加载'C:\ WINDOWS\system32\kernel32.dll',找不到或者打开PDB文件'Mathematics.exe':加载'C:\ WINDOWS\system32\msvcp100d.dll',加载符号.'Mathematics.exe':已加载'C:\ WINDOWS\system32\msvcr100d.dll',已加载符号.线程'Win32 Thread'(0x6ec)已退出,代码为-1073741510(0xc000013a).

程序'[6072] Mathematics.exe:Native'已退出,代码为-1073741510(0xc000013a).

这是代码:

#include <iostream>
using namespace std;
bool isPrime(int x){
    int b = 0;
    int i = 2;
    if(x == 2){
    return 1;
    }
    if (x > 2){
        while(i < x){
            if ( (x % i) != 0){
            b = b + 1;
            i = i + 1;
            }

        }
        if (b > 0){
        return 1;
        } if (b == 0){
        return 0;
        }




    } …
Run Code Online (Sandbox Code Playgroud)

windows exit-code

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

这种 C# 函数组合方法是如何工作的?

我出现了以下代码:

public static class FuncUtils
{
    public static Func<T1, T3> Compose<T1, T2, T3> (Func<T1, T2> f1, Func<T2, T3> f2)
    {
        return a => f2(f1(a));
    }
}
Run Code Online (Sandbox Code Playgroud)

对我来说最大的谜团就是这个

返回 a => f2(f1(a));

你能解释一下它是如何工作的吗?

.net c# functional-programming func

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

C# - 我如何拥有2个游戏对象总是具有相同的y值

我目前在我的场景中有一个立方体,我已经四处移动了.我希望另一个立方体始终具有相同的y值.因此,如果第一个立方体向下移动10个单位,我希望另一个立方体做同样的事情.

我的第一个多维数据集是在编辑器中手动创建的,但我的另一个是使用脚本放置的.谢谢!

c# unity-game-engine unityscript

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

C#中的指数

int trail = 14;
double mean = 14.00000587000000;
double sd = 4.47307944700000;

double zscore = double.MinValue;

zscore = (trail - mean) / sd; //zscore at this point is exponent value -1.3122950464645662E-06

zscore = Math.Round(zscore, 14); //-1.31229505E-06
Run Code Online (Sandbox Code Playgroud)

Math.Round()也保持指数值.应该zscore.ToString("F14")使用而不是Math.Round()函数将其转换为非指数值?请解释.

c# floating-point floating-accuracy

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

Angular 6/7默认使用Eager / Lazy加载吗?

如标题所述,我们是否需要为模块手动实现延迟加载,还是Angular 6/7默认执行?

angular angular6 angular7

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

ISO C++ 说这些是模棱两可的,即使第一个最差的转换比第二个最差的转换好

为什么这是模棱两可的?

// In class declaration
template<typename T>
class threadsafe_list {
    void for_each(std::function<void(T&)> _consumer);
    void for_each(std::function<void(const T&)> _consumer) const;
}
Run Code Online (Sandbox Code Playgroud)
// Calling for_each
threadsafe_list<bool> list;

std::function<void(const bool&)> print = [](const bool& _bool) {
    std::cout << (_bool ? "True" : "False") << std::endl;
};

// Warning: for_each is ambiguous
list.for_each(print);

// This is OK
list.for_each([](const bool& _bool) { std::cout << (_bool ? "True" : "False") << std::endl; }); 
Run Code Online (Sandbox Code Playgroud)

为什么上面的说法有歧义?for_each 之一用于 const 而另一个则不是。谢谢!

c++ language-lawyer

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

在C#中,int必须是正数,负数还是零?

TL; DR;

C#语言是否确保int必须具有以下属性中的一个且仅具有以下属性?

  1. 严格大于 0
  2. 严格不到 0
  3. 等于 0

准确地说,这个断言是否保证永不失败?

public void CheckFacts(int n) 
{
    int trueFacts = 0;

    if (n > 0) trueFacts += 1;
    if (n == 0) trueFacts += 1;
    if (n < 0) trueFacts += 1;

    Assert.AreEqual(trueFacts, 1); 
}
Run Code Online (Sandbox Code Playgroud)

后续问题:如果是,对于各种整数类型是否也是如此?(uint,long,ulong,sbyte,byte,short,ushort,...)


对于那些可能认为这个问题有点偏离的人,不要忘记计算机数字可能会令人惊讶.

例如,这不是double必须为正,负或零的情况.它可以是NaN,+0.0或者-0.0,3个值将导致上述断言失败.


编辑:

有人说我不知何故花时间写这个问题,但不是一分钟看规格.我实际上花了很多时间阅读:https://msdn.microsoft.com/fr-fr/library/system.int32(v = vs1010).aspx,因为int它应该是别名System.Int32.老实说,我不确定我的问题是否明确.另外,我彻底搜索了关于SO的问题,因为我认为有人必须先问过这个问题.对不起,如果这个问题对某些人来说显而易见,那对我来说就不是了.

c# int language-lawyer

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

在C++中使用double作为科学常量是否安全?

我想用C++中的几个科学常数做一些计算,比如

  1. 有效电子质量(m)9.109e-31 kg
  2. 电子电荷1.602e-19 C.
  3. 玻尔兹曼常数(k)1.38×10-23
  4. 时间8.92e-13

我有像sqrt((2kT)/ m)这样的计算

为这些常量和结果使用double是否安全?

c++ floating-accuracy

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

LINQ包括在搜索时降低性能

我们有以下方法允许我们搜索DataGrid的Projects表:

public async Task<IEnumerable<Project>> GetFilteredProjects(string searchString)
{
    var projects = _context.Projects.Where(p => p.Current);

    projects.Include(p => p.Client);
    projects.Include(p => p.Architect);
    projects.Include(p => p.ProjectManager);

    if (!string.IsNullOrEmpty(searchString))
    {
        projects = projects
            .Where(p => p.NormalizedFullProjectName.Contains(searchString)
                    || p.Client.NormalizedName.Contains(searchString)
                    || p.Architect.NormalizedFullName.Contains(searchString)
                    || p.ProjectManager.NormalizedFullName.Contains(searchString));
    }

    projects = projects.OrderBy(p => p.Name).Take(10);

    return await projects.ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)

如果我们不使用Include项目,那么搜索是即时的.但是,在搜索中添加它们之后可能需要3秒多.

我们需要包含其他实体以允许用户根据需要搜索它们.

我们如何才能提高性能,但仍然Include允许搜索它们?

没有Incldue方法看起来像这样:

public async Task<IEnumerable<Project>> GetFilteredProjects(string searchString)
{
    var projects = _context.Projects.Where(p => p.Current);

    if (!string.IsNullOrEmpty(searchString))
    {
        projects = projects
            .Where(p => p.Name.Contains(searchString));
    }

    projects …
Run Code Online (Sandbox Code Playgroud)

c# sql linq entity-framework-core asp.net-core

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