小编pab*_*cin的帖子

如何使用Google Spreadsheet ADDRESS功能创建范围

我正在尝试在谷歌电子表格中创建一个公式,计算当前单元格上方所有单元格的最大值,我可以将其复制到任何单元格并仍在工作.我尝试使用这样的ADDRESS函数:

=MAX(ADDRESS(1;COLUMN()):ADDRESS(ROW()-1;COLUMN()))
Run Code Online (Sandbox Code Playgroud)

但我得到一个解析错误.我试过这个代码的很多变种,但总是会出错.显然,ADDRESS功能不允许作为范围的一部分.

有没有办法根据当前单元格位置创建对范围的引用?

google-sheets

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

查询聚合中除根之外的实体

在 DDD 的上下文中,总是说存储库必须只查询聚合根。然后,聚合根可以访问聚合中的其他实体。然而,如何对聚合中的实体进行建模?

假设订单聚合的情况。订单是根,有一个详细行列表,它引用产品(这是另一个聚合的根)并具有其他属性,例如数量

现在,假设我需要列出或订购引用特定产品的行,以生成供不同服务使用的报告,例如计算产品订单所请求的平均商品数量。

搜索每一条订单,然后列出所有线路并选择我感兴趣的线路,听起来不切实际。订单存储库中的 getLinesByProduct() 听起来更方便,但会暴露聚合之外的行。

我如何为这个查询建模?

也许问题是我正在查询我的命令模型,并且我应该有一个(非规范化)查询模型,其中详细信息行是具有所有所需信息的实体?

design-patterns domain-driven-design repository

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

可以在java 8中定义lambda表达式的返回类型吗?

我有以下代码

Random rnd = new Random();
rnd.ints().limit(100)
          .filter(i-> i > 0)
          .map(Math::sqrt)
          .forEach(System.out::println)
Run Code Online (Sandbox Code Playgroud)

这会生成以下编译错误:

Streams.java:12: error: incompatible types: bad return type in method reference
                .map(Math::sqrt)
                     ^
    double cannot be converted to int
Run Code Online (Sandbox Code Playgroud)

如果我改用

.mapToDouble(Math::sqrt)
Run Code Online (Sandbox Code Playgroud)

有用.问题是编译器无法推断map中使用的lambda表达式的返回类型.有没有办法明确指定它?我个人觉得mapToxxx功能集笨拙.

lambda java-8

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

在Typescript中使用字符串文字类型

我正在尝试使用具有以下定义的方法(在Angular中):

request(method: string, url: string, options?: {
    body?: any;
    headers?: HttpHeaders;
    params?: HttpParams;
    observe?: HttpObserve;
    reportProgress?: boolean;
    responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
    withCredentials?: boolean;
}): Observable<any>;
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

let options = {
    headers: headers,
    content: content,
    responseType: 'json'
};

 http.request(method, url, options)
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

错误TS2345:类型'{headers:HttpHeaders; 内容:字符串; responseType:string; }'不能赋值给'{body?:any; 标题?:HttpHeaders; params?:HttpParams; 观察?:HttpObserve; reportProgress:?...".属性"responseType"的类型不兼容.类型'string'不能分配给''text'|类型 "json"| "arraybuffer"| "斑点"."

由于reponseType没有像" type ResponseType ='arraybuffer'| ... " 这样的声明类型,如何将"文字"'json'"转换"为该属性的有效值?

typescript

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

在Ruby中计算HTML文档中的标记和文本字符

我需要解析一个HTML文档来计算Ruby中两个标签(包括属性)和文本的字符数.出于性能原因,我不想使用DOM解析器.我看过Nokogiri的SAX和Reader解析器以及SaxMachine,但似乎都没有为我提供跟踪解析器在输入HTML中的位置的方法.

有没有人知道在Ruby中访问这些信息的方法?提前致谢

html ruby parsing sax

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

Gnuplot绘制时间序列图的不正确时间

我正在打印具有以下格式的时间序列

> 1400536853 0.011955 
> 1400537188 0.013695 
> 1400537530 0.010797  
> ....
> 1400621709 0.010688 
> 1400622023 0.007209 
> 1400622338 0.006685 
> 1400622653 0.005539
Run Code Online (Sandbox Code Playgroud)

第一列是unix epoch格式的时间戳,第二列是要绘制的变量.请注意,第一行的时间戳对应于"Tue May 20 00:00:53 CEST 2014",最后一行对应于"Tue May 20 23:50:53 CEST 2014".我使用以下命令验证了这一点:

date -d @<timestamp>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下脚本来绘制时间序列

set xdata time
set timefmt '%s'
set format x '%H'
plot 'series.txt' using 1:2 with lines notitle
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个小时数在22,00,02 ...... 22之间的情节,如下图所示:

时间序列图

我将不胜感激任何关于如何解决这个问题的建议.这可能与未正确设置时区有关吗?提前谢谢了

plot gnuplot time-series

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

如何打印 args 和 kwargs 的列表

在我的代码中,我有很多地方将一个函数及其参数传递给另一个函数。出于调试目的,我想打印函数的名称和参数列表。例如

def process(f, *args, **kwargs):
    print("processing " + print_func(f, args, kwargs))
Run Code Online (Sandbox Code Playgroud)

的预期输出 process(myfunc, 1,2, a="A",b=0)应该是"processing myfunc(1,2,a="A", b=0)"

我在打印args如下方面取得了一些进展:

def print_func(f, *args, **kwarg):
    func_str = f.__name__ + "("
    if len(args) > 0:
        func_str = func_str + (', '.join(['%.2f']*len(x)) % args)
     func_str = func_str + ")"
Run Code Online (Sandbox Code Playgroud)

在上面的例子中将产生输出 processing myfunc(1,2)

我的问题是如何打印 kwargs。我无法找到类似的解决方案,使用动态格式字符串将其打印k=v为由“,”分隔的对序列。

任何建议将不胜感激。

python formatting keyword-argument

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