问题列表 - 第283677页

从返回值推断类型

看来Typescript无法推断出一个变量不是,null或者undefined该变量是否存在的检查是在另一个函数中完成的。这是一个例子。

(我在打开--strictNullChecks的情况下使用Typescript。)

const login = (email: string) => {
    console.log(email);
}

const handleButtonClick = (email?: string) => {
    const error = validate(email);
    if (error) {
        return;
    }

    return login(email);
}

const validate = (email?: string) => {
    if (!email) {
        return 'There was an error'
    }
}
Run Code Online (Sandbox Code Playgroud)

Typescript抱怨handleButtonClick您无法login使用可能未定义的电子邮件进行呼叫。但是,我们确保emailvalidate调用中定义了它。

Typescript是否有可能解决这个问题?

typescript

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

如何将两个非字符串加在一起...?

我正在使用colorama模块,并且希望能够在与颜色对应的变量上调用Fore,例如“ GREEN”。我希望能够做到:

from colorama import Fore
color = 'GREEN'
print(Fore. + color)
Run Code Online (Sandbox Code Playgroud)

我希望它仅运行print(Fore.GREEN),但我不能,因为它存在语法错误。有什么办法吗?

python

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

创建类路径资源中定义的名为“handlerExceptionResolver”的 bean 时出错

我有一个简单的项目,我在其中创建了自定义异常处理。有趣的是,当我编译这个项目时,它给了我一个错误。

Error creating bean with name 'handlerExceptionResolver' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerExceptionResolver]: Factory method 'handlerExceptionResolver' threw exception; nested exception is java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class java.lang.Exception]: {public final org.springframework.http.ResponseEntity com.winwinit.rest.microservices.restfulwebservices.Exception.CustomizedEntityExceptionResponse.handleAllUserException(java.lang.Exception,org.springframework.web.context.request.WebRequest), public final org.springframework.http.ResponseEntity com.winwinit.rest.microservices.restfulwebservices.Exception.CustomizedEntityExceptionResponse.handleAllException(java.lang.Exception,org.springframework.web.context.request.WebRequest)}
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
Run Code Online (Sandbox Code Playgroud)
package com.winwinit.rest.microservices.restfulwebservices.Exception;

import java.util.Date;

import org.omg.CORBA.portable.UnknownException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;


import com.winwinit.rest.microservices.restfulwebservices.User.UserNotFoundException;

@ControllerAdvice
@RestController
public class …
Run Code Online (Sandbox Code Playgroud)

java spring exception

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

试图删除数据库中的重复条目,但获取nil id

我正在使用rails find_by_sql查询来查找重复的条目,但是我很难删除它们,因为该查询返回的ID为nil的数组。

LogEntry.find_by_sql("SELECT date, athlete_id, count(*) as qty FROM log_entries GROUP BY date, athlete_id HAVING count(*)> 1")
Run Code Online (Sandbox Code Playgroud)

这将返回以下数组:

[#<LogEntry id: nil, date: "2016-06-12", athlete_id: 49>, #<LogEntry id: nil, date: "2015-09-05", athlete_id: nil>, #<LogEntry id: nil, date: "2015-09-06", athlete_id: nil>, #<LogEntry id: nil, date: "2019-05-02", athlete_id: nil>]
Run Code Online (Sandbox Code Playgroud)

当我尝试添加时,.each(&:destroy)它无法破坏它,因为您可以看到ID列为nil。我不明白的是这怎么可能?这些条目应该能够在没有ID的表中存在。我的SQL查询有问题吗?

谢谢!

ruby postgresql ruby-on-rails

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

firestore onSnapshot 更新值,但不更新 VueJS 中的 DOM

我正在使用 onSnapshot 在 Vue 中监听实时更新。我可以看到数据正在从 onSnapshot 加载,但它没有在 DOM 中更新。这可能只是一个非常愚蠢的错误,我只编程了大约一个多月,我就是不明白一些事情,而且我的谷歌搜索技巧让我失望。浏览器显示“No State Listed”,而不是来自 DB 和 console.log 的实际值。

这是我的 .Vue 文件中的片段。

        <div>
          <span class="grey--text">State:</span>
          <span class="grey--text">{{ state }}</span>
        </div>



export default {
  components: { VoterRegistration },
  data() {
    return {
      state: "No State Listed"
    };
  },
  methods: {},
  created() {
    auth.onAuthStateChanged(user => {
      if (user) {
        db.collection("users")
          .doc(user.uid)
          .onSnapshot({ includeMetadataChanges: true }, function(doc) {
            console.log(doc.data()); // shows all the data I want
            this.state = doc.data().state;
            console.log(this.state); //this shows correct value in firestore db …
Run Code Online (Sandbox Code Playgroud)

javascript dom firebase vue.js google-cloud-firestore

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

如何使用 d3 获取地图以准确显示经度和纬度

我正在使用 d3.js 尝试映射 csv 数据文件的坐标,该文件包含订单 ID、订单发货地址的纬度和经度以及订单花费的金额。我尝试过将它们线性地绘制出来并尝试使用对数刻度,但绘图点似乎仍然倾斜。我试图让它看起来像美国地图,它有点相似,但地图似乎扭曲/倾斜。我确保将经度设置为 x 轴,将纬度设置为 y 轴。圆圈的半径与订单花费的金额有关。我想知道它是否与使用的比例有关,但这是我第一次尝试弄乱 d3,所以任何帮助/建议将不胜感激!

  var outerWidth  = 500;
  var outerHeight = 250;
  var margin = { left: -50, top: 0, right: -50, bottom: 0 };

  var xColumn = "longitude";
  var yColumn = "latitude";
  var rColumn = "total";
  var dollarPerPixel = 10;

  var innerWidth  = outerWidth  - margin.left - margin.right;
  var innerHeight = outerHeight - margin.top  - margin.bottom;

  var svg = d3.select("body").append("svg")
    .attr("width",  outerWidth)
    .attr("height", outerHeight);

  var g = svg.append("g")
    .attr("transform", "translate(" + margin.left …
Run Code Online (Sandbox Code Playgroud)

javascript coordinates d3.js

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

两个延续如何相互抵消?

我正在阅读有关列表操作的一些技巧,其中包含以下内容:

zipRev xs ys = foldr f id xs snd (ys,[])
  where
    f x k c = k (\((y:ys),r) -> c (ys,(x,y):r)) 
Run Code Online (Sandbox Code Playgroud)

我们在这里可以看到,我们有两个连续的叠放在一起。发生这种情况时,他们通常可以“取消”,如下所示:

zipRev xs ys = snd (foldr f (ys,[]) xs)
  where
    f x (y:ys,r) = (ys,(x,y):r)
Run Code Online (Sandbox Code Playgroud)

我不明白您如何“取消”堆叠的延续以从顶部的代码块到达底部的代码块。您寻找进行这种转换的方式是什么,为什么会起作用?

continuations haskell fold continuation-passing

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

为什么空字符串 '' 在 utf-16 中编码为 2 个字节,而在 utf-8 或 ascii 中编码为 0 个字节?

我刚刚学习了 python 中的字符串编码,在稍微摆弄了一下之后,我对空字符串 ('') 的大小在 utf 8 和 ascii 中为 0 但在 utf 16 中为 2 感到困惑?怎么会?

print(len(''.encode('utf16'))) # is 2
print(len(''.encode('utf8'))) # is 0
Run Code Online (Sandbox Code Playgroud)

我想问题的很大一部分是我不明白 utf 16 是如何工作的。我不明白为什么用 utf 16 编码“垃圾邮件”会是 10 个字节长,而不是 8 个字节(每个字符 2 个字节(16 位))。我假设 utf 16 中需要 2 个字节作为任何字符串的默认填充或其他内容?

*编辑

我对 UTF 8 或 UTF 16 的工作原理以及存储每个单独字符的不同之处并不感到困惑。我很困惑如何将缺少任何字符(空字符串)存储在 UTF 16 中的 2 个字节中,但在 UTF 8 中存储为 0 字节。(而不是两者都存储为 1 字节或 0)

该链接没有提供我的问题的答案。

python utf-8 utf-16 utf python-3.x

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

callq命令参数的含义是什么?

我知道callq指令的作用;在这个答案中有描述。指令应该有一个参数,它应该是被调用函数的地址。

但是,在反汇编目标文件时,我看到以下行显示了一条callq具有两个值而不是一个参数的指令:

  1e:   e8 00 00 00 00          callq  23 <main+0x19>
Run Code Online (Sandbox Code Playgroud)

我假设这23是返回地址,<main+0x19>是要调用的函数的地址。但是,被调用的函数并不位于 address main+0x19

什么是这两个值的含义23,并main+0x19在拆卸的显示callq指令?


原始 C 代码:

#include <stdio.h>

void fun(int a)
{
}

int main()
{
    int a = 1234;
    fun(a);
}
Run Code Online (Sandbox Code Playgroud)

objdump -D main.o main.asm 反汇编代码:

0000000000000000 <fun>:
   0:   55                      push   %rbp
   1:   48 89 e5                mov    %rsp,%rbp
   4:   89 7d fc                mov    %edi,-0x4(%rbp)
   7:   90                      nop
   8:   5d                      pop …
Run Code Online (Sandbox Code Playgroud)

linux assembly x86-64 disassembly object-files

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

在javascript中进行除法运算时,如何将NaN替换为0?

我正在尝试在对象数组上使用.map()进行简单除法。但是,当零除以零时将返回NaN。如何检查此计算并返回数字0而不是NaN?

  mounted() {
        console.log(this.dataOverview);
       let newData = this.dataOverview.map((data) => { 
           return {
              conversationSource: data.conversationSource,
              Id: data.Id,
              answerableConversations: data.conversationCount,
              interactiveConversations: data.interactive,
              leads: data.sent,
              interactiveLeadConversations: ((data.sent / data.interactive) * 100).toFixed(0) 
            }
        })
        this.convertedData = newData;
        console.log(this.dataOverview);
    }
Run Code Online (Sandbox Code Playgroud)

使用此方法,当data.sent和data.interactive均为零时,interactiveLeadConversations返回NaN。

javascript arrays vue.js

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