小编tho*_*roc的帖子

怎么做one-liner if else声明?

我可以在go(golang)中编写一个带有变量赋值的简单if-else语句,就像在php中一样(例如):

$var = ( $a > $b )? $a: $b;
Run Code Online (Sandbox Code Playgroud)

目前我必须使用以下内容:

var c int
if a > b {
    c = a
} else {
    c = b
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果这个控制声明和我无法通过现场和谷歌搜索找到信息,我记不起名字了.:/

if-statement go conditional-operator ternary

79
推荐指数
5
解决办法
11万
查看次数

“App”类型的参数不可分配给“Construct”类型的参数

我正在尝试简单的 CDK 教程,但是遇到了一些错误。

我的代码就是这样,

    Argument of type 'App' is not assignable to parameter of type 'Construct'.
    Type 'App' is missing the following properties from type 'Construct': onValidate, onPrepare, onSynthesize, validate, and 2 more.

    7 new HelloCdkStack(app, 'HelloCdkStack', {
Run Code Online (Sandbox Code Playgroud)

不知何故,这个错误出现了,但在一些使用cdk.App(). 为什么会出现这个错误??

    import * as cdk from "@aws-cdk/core";
    import {Table, AttributeType} from "@aws-cdk/aws-dynamodb";
    
    export class HelloCdkStack extends cdk.Stack {
      constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
        super(scope, id, props);
    
        new Table(this, "items", {
          partitionKey: {
            name: "itemId",
            type: AttributeType.STRING,
          }, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-cdk

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

玩笑-mockReturnValue

我有一个正在尝试为其添加单元测试的函数。

功能

        async getStuff() {
           const { foo } = this.props.data;
           const { bar } = this.state;
           const { bazz } = this.props;

           const { x, y } = await helpers.getStuffFromServer(foo, bar, bazz);

           this.setState({ x, y });
        }
Run Code Online (Sandbox Code Playgroud)

测试

        it('should get stuff & set state', async() => {
           const returnObject = {
               x: dummyData.x,
               y: dummyData.y
           };
           getStuff.mockReturnValue(() => returnObject);
           const fakeBazz = jest.fn();
           const wrapper = setup({ bazz: fakeBazz });
           wrapper.instance().componentDidMount();
           await expect(getStuff).toBeCalledWith(dummyData.foo, bar, fakeBazz);
           console.log(wrapper.state());
    });
Run Code Online (Sandbox Code Playgroud)

我的expect …

jestjs

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

GitLab 运行程序没有携带 node_modules 和缓存到下一个作业?

我遇到一个问题,我的 e2e 测试在 GitLab 中失败,但正常通过。我将问题范围缩小到了 node_modules,并且 cypress 缓存没有延续到下一个作业。这就是WARN Local package.json exists, but node_modules missing, did you mean to install出现错误的原因,因为 node_modules 不存在。

我认为缓存没有保留的原因是因为它被保存在一个运行器上,但是如果下一个作业在另一个运行器上,则缓存将不存在并且最终会失败。我可以将所有内容都放在一项工作中,但如果我要添加另一项工作进行部署,那么我仍然会遇到同样的问题。

这是我的 gitlab-ci.yml 文件:

image: cypress/base:12.18.4

variables:
  NPM_REGISTRY: https://registry.npmjs.org/
  npm_config_cache: $CI_PROJECT_DIR/.npm
  CYPRESS_CACHE_FOLDER: $CI_PROJECT_DIR/cache/Cypress

stages:
  - build
  - test:unit
  - test:e2e
  - lint

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - cache/Cypress
    - node_modules/

build:
  stage: build
  script:
    # set the npm registry if different from the default
    - npm config set registry $NPM_REGISTRY
    - npm i
    - npx cypress verify …
Run Code Online (Sandbox Code Playgroud)

npm node-modules gitlab gitlab-ci-runner cypress

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

Go:将符文(字符串)转换为二进制的字符串表示形式

这是为了防止其他人正在学习Golang并且想知道如何从字符串转换为二进制的字符串表示.

长话短说,我一直在寻找标准库而无法找到合适的电话.所以我开始使用类似于以下内容的东西:

func RuneToBinary(r rune) string {
    var buf bytes.Buffer
    b := []int64{128, 64, 32, 16, 8, 4, 2, 1}
    v := int64(r)
    for i := 0; i < len(b); i++ {
        t := v-b[i]
        if t >= 0 {
           fmt.Fprintf(&buf, "1")
           v = t
        } else {
           fmt.Fprintf(&buf, "0")
        }
    }

    return buf.String()
}
Run Code Online (Sandbox Code Playgroud)

这是一个好花花公子,但经过几天的环顾四周,我发现,我应该使用已经fmt包代替,只是格式化rune%b%:

var r rune
fmt.Printf("input: %b ", r)
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

谢谢

string binary type-conversion go

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

如何使用 next.js 导入带有空格的文件?

我正在摆弄 next.js。我有一个 CSV 文件,其中包含一些我想在表格中显示的数据。当我尝试导入 csv 时遇到一个奇怪的错误。

./static/data.csv 1:66
Module parse failed: Unexpected token (1:66)
You may need an appropriate loader to handle this file type.
Run Code Online (Sandbox Code Playgroud)

字符 66 是一个空格

当我删除空格时,它会在下一个空格上出错。我不确定我应该采取什么不同的做法。

代码:

import Link from 'next/link';
import React from 'react';
import Head from 'next/head';
import Header from '../components/Header';
import NavBar from '../components/NavBar';

export default () => (
  <div>
    <title>Test</title>
    <div class="title">
      <p>
      <img className="logo" src="/static/logo.png" />
      <h1>Test</h1>
      </p>
      <br/>
    </div>
    <hr/>
  </div>
)

const data = import('../static/data.csv');
Run Code Online (Sandbox Code Playgroud)

next.js

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