小编Ben*_*ate的帖子

Typescript:从数组类型中检索元素类型信息

假设我有一些数组类型T[],是否可以T在另一个别名/接口中提取类型?例如,我的(假的)理想代码如下:

// for illustration only...

type ArrayElement<T[]> = T;

// then, ArrayElement<string[]> === string
Run Code Online (Sandbox Code Playgroud)

如果不是,是否存在不允许此类运营商的一般类型理论原因?如果没有,我可能会建议添加它.

谢谢!

typescript

22
推荐指数
6
解决办法
8415
查看次数

可以在xlsxwriter中更改工作表顺序吗?

我有一个脚本按顺序创建以下几对工作表:

WorkSheet (holds data) -> ChartSheet using WorkSheet
Run Code Online (Sandbox Code Playgroud)

脚本完成后,我留下了如此订购的工作表:

Data1, Chart1, Data2, Chart2, Data3, Chart3, ...
Run Code Online (Sandbox Code Playgroud)

是否可以在脚本末尾(即之前workbook.close())重新排序工作表,以在最终的.xlsx文件中获取以下工作表顺序?

Chart1, Chart2, Chart3,...,ChartN, Data1, Data2, Data3,...
Run Code Online (Sandbox Code Playgroud)

python excel xlsxwriter

10
推荐指数
3
解决办法
6617
查看次数

在类型定义中声明数组属性的大小

我目前有一个带有数组属性的类型

immutable foo
    a::Int64
    b::Int64
    x::Array{Float64,1} # One dimension array of Float 64, but no length info
end
Run Code Online (Sandbox Code Playgroud)

我知道该数组将始终包含100个Float64元素.有没有办法在类型注释中传递此信息?也许类似于声明实例化数组大小的方式类似x = Array(Float64, 100)

julia

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

TypeScript:具有可选值的歧视联合

给出以下类型:

interface FullName {
  fullName?: string
}

interface Name {
  firstName: string
  lastName: string
}

type Person = FullName | Name;

const p1: Person = {};
const p2: Person = { fullName: 'test' };
const p3: Person = { firstName: 'test' }; // Does not throw
const p4: Person = { badProp: true }; // Does throw, as badProp is not on FullName | Name;
Run Code Online (Sandbox Code Playgroud)

我希望p3会导致编译器错误,但firstName没有lastName,但它没有 - 这是一个错误或预期?

此外,使FullName.fullName必需会导致p3(和p1)导致错误.

typescript

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

为什么pandas使用(&,|)而不是普通的pythonic(和,或)?

我理解大熊猫文档解释这是惯例,但我想知道为什么?

例如:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,4), index=list('abcdef'), columns=list('ABCD'))
print(df[(df.A < .5) | (df.B > .5)])
print(df[(df.A < .5) or (df.B > .5)])   
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

          A         B         C         D
a -0.284669 -0.277413  2.524311 -1.386008
b -0.190307  0.325620 -0.367727  0.347600
c -0.763290 -0.108921 -0.467167  1.387327
d -0.241815 -0.869941 -0.756848 -0.335477
e -1.583691 -0.236361 -1.007421  0.298171
f -3.173293  0.521770 -0.326190  1.604712
Traceback (most recent call last):
  File "C:\test.py", line 64, in <module>
    print(df[(df.A < .5) …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

AWS CloudWatch自定义指标作为弹性beantalk自动缩放触发器

我正在使用nodejs aws sdk发布自定义cloudwatch指标。指标成功显示在cloudwatch管理控制台中。但是,对于我的弹性beantalk环境,它没有在缩放触发选项中显示。是否可以使用awscli .ebextensions或其他方式将弹性beantalk配置为使用自定义指标作为缩放触发?

amazon-web-services autoscaling amazon-cloudwatch amazon-elastic-beanstalk

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

从模块声明文件中的命名空间合并接口

我有一个 javascript 库,这里有一个类型定义文件: https: //github.com/tyranid-org/tyranid/blob/master/tyranid.d.ts,它通过typings我的package.json文件中的属性公开。

定义文件的基本版本:

export default Tyr;

declare namespace Tyr {
  interface Document {
    $save(): Promise<Document>;
  }
}
Run Code Online (Sandbox Code Playgroud)

我想Document在一个完全独立的打字稿库中扩展该接口:https://github.com/CrossLead/tyranid-gracltyranid,通过向$newMethod()文档接口添加一个方法,该库与其类型一起导入。这可以做到吗?

我已在第二个存储库的单独声明文件中尝试了以下操作,但它不起作用:

import Tyr from 'tyranid';

declare namespace Tyr {

  interface Document {
    $newMethod(): number;
  }

}
Run Code Online (Sandbox Code Playgroud)

如有必要,我可以修改这两个声明——很可能我没有正确编写 tyranid 的原始类型定义文件。谢谢!

typescript type-definition

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

具有两个或多个依赖项的Makefile模式规则%.sas7bdat:%.sas%.dat

我似乎无法在网上找到任何这个例子,它似乎对我不起作用.你能在make文件中有一个模式规则,它有两个匹配的依赖项吗?

例如

%.sas7bdat: %.sas %.dat
  # build %.sas7bdat using %.sas and %.dat
Run Code Online (Sandbox Code Playgroud)

具体来说,如果我运行make,它说明......

make: *** No rule to make target `sip84fp.sas7bdat', needed by `sipp84'.  Stop.
Run Code Online (Sandbox Code Playgroud)

即使规则明确如上所述.

但是,减少规则到这个......

%.sas7bdat: %.sas
Run Code Online (Sandbox Code Playgroud)

似乎工作?

makefile

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

元类在 Typescript 中是不可能的吗

例如,以下不会编译(链接到打字稿游乐场示例)

declare class ClassFactory {
    constructor();
    new(): any;
}

const User = new ClassFactory();
const user = new User();
Run Code Online (Sandbox Code Playgroud)

结果错误:

Cannot use 'new' with an expression whose type lacks a call or construct signature.
Run Code Online (Sandbox Code Playgroud)

我需要额外的注释吗?我如何声明一个元类?我假设它new(): any;被视为类上的原型方法,因此是实例构造模式。

编辑:固定链接

typescript

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