小编Kon*_*lph的帖子

从数组字面量推断类型

我有一个函数,它接受一个数组,并返回一个对象,该对象的键是使用数组中的值设置的。

简化示例:

// arr will be an array of arrays of type [string] *or* [string, string]
function foo(arr) {
  const output = {}

  arr.forEach(value => {
    // if this value has length 2, use the second string as the key
    const key = value.length === 1 ? value[0] : value[1]

    // always use the first string as the value
    const value = value[0]

    output[key] = value
  })

  return output
}
Run Code Online (Sandbox Code Playgroud)

例如,运行foo([['a', 'orange'], ['b'], ['c', 'apple'])将产生{ orange: 'a', …

typescript

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

检查项目是否已在向量中

因此,我想对类中的向量进行一些错误检查,以便在将新项添加到向量之前查看该项是否已存在.

ClassA cpp

void ClassA::func(std::shared_ptr<ClassB> new_item)
{
    for(auto items : vector_)
    {
        if(items = new_item)
        {
            return;
        }
        vector_.push_back(new_item);
    }
}
Run Code Online (Sandbox Code Playgroud)

vector_是成员类成员std :: vector.使用此当前实现,所有new_item都被忽略,即使它不是重复的.我知道'if(items = new_item)'是有问题的一行,但我不知道为什么.

c++ vector shared-ptr

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

理解集()

阅读python文档我来set().目前我的理解是考虑set是一个术语,用于定义frozenset,list,tuple和dict类的实例.

首先,这是正确的吗?

其次,任何人都可以提供可能暴露set()在python中的位置的更多信息吗?

python set python-3.x

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

ClientWebSocket 示例挂起

下页所示的示例不起作用: Using c# ClientWebSocket with Streams

它挂在以下行上:

等待 ws.ConnectAsync(serverUri, CancellationToken.None);

看来连接尚未建立。

请指出使以下代码工作的最简单的修改。我不想使用任何第三方工具或库。

private static async Task DoClientWebSocket()
{
    using (ClientWebSocket ws = new ClientWebSocket())
    {
        Uri serverUri = new Uri("wss://echo.websocket.org/");
        await ws.ConnectAsync(serverUri, CancellationToken.None);
        while (ws.State == WebSocketState.Open)
        {
            string msg = "hello123";
            ArraySegment<byte> bytesToSend = new ArraySegment<byte>(Encoding.UTF8.GetBytes(msg));
            await ws.SendAsync(bytesToSend, WebSocketMessageType.Text, true, CancellationToken.None);
            ArraySegment<byte> bytesReceived = new ArraySegment<byte>(new byte[1024]);
            WebSocketReceiveResult result = await ws.ReceiveAsync(bytesReceived, CancellationToken.None);
            Console.WriteLine(Encoding.UTF8.GetString(bytesReceived.Array, 0, result.Count));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# clientwebsocket

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

如何替换列表中的元素?

我正在尝试编写一个循环,用半个大的元素替换列表中的所有元素。如果列表为 [1,2,3,4],则新列表应为 [0.5,1,1.5,2]。无需创建新列表!

我尝试了以下

for i in Glist:
    i = Glist[i]/2
    Glist.append(i)
Run Code Online (Sandbox Code Playgroud)

和热错误:列表索引超出范围如何停止循环?

也试过这个:

for i in mylist:
    i = i/2
    mylist.append(i)
Run Code Online (Sandbox Code Playgroud)

不工作

python loops

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

使用切片在原地反转列表

有人可以帮助我理解为什么s[:]=s[::-1]可以完美运行但s[]=s[::-1]不能吗?

另外,这是否会被视为就地操作(没有额外的内存)?

python algorithm data-structures python-3.x

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

类型错误:无法在 HTTPSConnection 中将 str 连接到字节

我正在尝试提出授权请求并提出TypeError: can't concat str to bytes. 我在网上搜索并发现了类似的问题,但没有一个可以帮助解决我的问题。我目前正在 Jupyter 工作(如果有帮助的话?)而且我是一个 python 菜鸟,所以请温柔一些......

这是我的代码:

import http.client as httplib
import urllib.request, urllib.parse, urllib.error, base64
import requests as rq

base_url = 'api/url'
end_point = '/endpoint'
full_url = base_url + end_point

request_body = {
    'UserName':'un',
    'Password':'pw'
}

header = {
    'tenant': 'tenant name'  #required by vendor
}

print(type(base_url))
print(type(end_point))
print(type(full_url))
print(type(request_body))
print(type(header))

try:
    conn = httplib.HTTPSConnection(base_url)
    conn.request(method='POST',url=full_url, body=request_body, headers=header)
    response = conn.getresponse()
    data = response.read()
    print(type(data))
    print(data)
    conn.close()
except Exception as e:
    print("[Errno …
Run Code Online (Sandbox Code Playgroud)

python http.client

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

如何使用调用函数的对象的参数?

//Function to find the distance between 2 points
TLength CPoint::Distance(const CPoint& point) const
{
    TLength horiz = abs(point.X() - OBJECT.X());
  TLength vert = abs(point.Y() - OBJECT.Y());
  TLength dist = sqrt(pow(horiz,2) + pow(vert,2)); 
  return dist;
};


int main()
{
const CPoint a = CPoint(4,5);
const CPoint b = CPoint(1,1);

a.Distance(b);

};
Run Code Online (Sandbox Code Playgroud)

是否有一个术语可以代替 OBJECT 来使用函数 Distance 中的 a 值?

c++ function

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

BigInteger.intValue() 在 C# 中等效

我正在尝试将 Java 代码转换为 C#,但在处理 BigInteger 操作时遇到了问题。我找到了一些关于 C# 中 BigInteger 实现和 intValue 本身的资源。但是没有关于 C# 中 BigInteger.intValue 等价物的线索。Java中的定义是:

将此 BigInteger 转换为 int。这种转换类似于 Java™ 语言规范第 5.1.3 节中定义的从 long 到 int 的缩小原始转换:如果此 BigInteger 太大而无法放入 int,则仅返回低 32 位。注意此转换可能会丢失有关 BigInteger 值的整体大小的信息,并会返回具有相反符号的结果

但是在 C# 中使用 (int) 获得类似的结果会导致错误:

对于 Int32,值要么太大要么太小。

我也尝试只使用低字节但没有成功如果有人帮忙,我们将不胜感激

c# java biginteger

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

重载函数调用运算符 () 用于模板对象的索引和赋值

我正在尝试为矩阵数据结构创建模板,并且我希望以简洁直观的方式来索引和分配元素(即 'A(i,j)' 返回一个元素和 'A(i,j)=x ' 为该元素分配一个值。)

根据其他论坛主题,我看到通过引用返回数组元素,函数/运算符可以以这种方式返回和更改该元素。

template <typename T, int Rows, int Cols>
    struct Matrix {
        private:
        public:
            const int rows = Rows; //number of rows
            const int cols = Cols; //number of columns
            T data[Rows*Cols];     //contents of matrix

            //Single element indexing and assigment
            T& operator() (int i, int j) {
                return data[ (i-1)*(this->cols) + j ];
            }
    };

int main(){
    const int m = 3;
    const int n = 4;
    Matrix<float, m, n> A;

    for (int i = …
Run Code Online (Sandbox Code Playgroud)

c++ templates operator-overloading

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