小编Gar*_*oyd的帖子

使用read而不在终端上触发换行操作

我现在有这个

$PROMPT=">"
while read -p "${PROMPT}" line; do
  echo -en "\r"
  some_info_printout($line)
  echo -en "\n${PROMPT}"
done
Run Code Online (Sandbox Code Playgroud)

这给出了这样的输出

>typed input
INFO OUT ["typed input"]
>more text
INFO OUT ["more text"]
>
Run Code Online (Sandbox Code Playgroud)

我想要的是做一个read并忽略换行动作,以便预先存在的文本可以覆盖现有的行

INFO OUT ["typed input"]
INFO OUT ["more text"]
>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

bash terminal newline

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

比较接口的GenericTypeDefinition

简单的代码,我希望List<int>GenericTypeDefinition包含一个通用的接口ICollection<>.然而,我无法得出一个可接受的类型,List<int>从中可以让我正确地比较它们.

using System;
using System.Collections.Generic;
using System.Linq;

public class Test
{
    public static void Main()
    {
        var a = typeof(List<int>);
        var b = typeof(ICollection<>);

        var r1 = a.GetGenericTypeDefinition().GetInterfaces();
        foreach (var x in r1)
        {
            Console.WriteLine(x);
        }
        Console.WriteLine();
        Console.WriteLine(b);
        Console.WriteLine();
        Console.WriteLine(r1.Any(x => x == b));
    }
}
Run Code Online (Sandbox Code Playgroud)

产量

System.Collections.Generic.IEnumerable`1[T]
System.Collections.Generic.IReadOnlyList`1[T]
System.Collections.Generic.IReadOnlyCollection`1[T]
System.Collections.IEnumerable
System.Collections.Generic.IList`1[T]
System.Collections.Generic.ICollection`1[T]
System.Collections.ICollection
System.Collections.IList

System.Collections.Generic.ICollection`1[T]

False
Run Code Online (Sandbox Code Playgroud)

我原以为r1包含一个等于的类型b.

编辑

固定,Jon Skeet让我对正在发生的事情有了正确的认识.

using System;
using System.Collections.Generic;
using System.Linq;

public class Test …
Run Code Online (Sandbox Code Playgroud)

c# generics types

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

模板化结构的花括号括起来的初始化列表

#include <array>                                                                
#include <vector>                                                               
#include <cinttypes>                                                            
#include <iostream>                                                             

using namespace std;                                                            

template<size_t N>                                                              
struct item_t {                                                                 
  array<uint32_t, N> weight = {0};                                              
};                                                                              

int main(void) {                                                                

  vector<item_t<3>> items;                                                      
  items.emplace_back({{9,2,3}});                                                
  cout << items[0].weight[0] << endl;                                           
  return 0;                                                                     
};  
Run Code Online (Sandbox Code Playgroud)

我在这里有点不知所措。错误在 emplace_back 线上,不知道如何解决。任何帮助或提示将不胜感激,谢谢。

编辑

gcc 版本 4.8.2

$ g++ -std=c++11 test.cpp 
test.cpp: In function ‘int main()’:
test.cpp:16:30: error: no matching function for call to ‘std::vector<item_t<3ul> >::emplace_back(<brace-enclosed initializer list>)’
  items.emplace_back({{9,2,3}});
                              ^
test.cpp:16:30: note: candidate is:
In file included from /usr/include/c++/4.8/vector:69:0,
                 from test.cpp:2:
/usr/include/c++/4.8/bits/vector.tcc:91:7: note: void …
Run Code Online (Sandbox Code Playgroud)

c++ templates struct c++11 list-initialization

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

SciPy zeta函数返回非常大的值

关于zeta函数状态的SciPy文档:

y = zeta(x,q)返回两个自变量的Riemann zeta函数:sum((k + q)**( - x),k = 0..inf)

根据Riemann zeta函数wiki条目给出x=2, q=0我们应该得到的参数应该给出大约1.645sum((k)**(-2),k=0..inf)

然而,SciPy给出了以下内容

>>> from scipy.special import zeta
>>> zeta(2,0)
1.7976931348623157e+308
Run Code Online (Sandbox Code Playgroud)

我错过了什么或scipy zeta功能坏了吗?

python scipy

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

标签 统计

bash ×1

c# ×1

c++ ×1

c++11 ×1

generics ×1

list-initialization ×1

newline ×1

python ×1

scipy ×1

struct ×1

templates ×1

terminal ×1

types ×1