小编Ant*_*ean的帖子

我可以在 JavaScript 的一个语句中运行两个 for 循环吗?

我可以在 JavaScript 的一个语句中运行两个 for 循环吗?我会这样做吗?

for(initialize1,initialize2; condition1,condition2; incrementation1,incrementation2) 
Run Code Online (Sandbox Code Playgroud)

javascript for-loop

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

如何制作流式LINQ表达式以提供已过滤的项目以及过滤的项目?

我正在将Excel电子表格转换为"元素"列表(这是一个域名术语).在此转换期间,我需要跳过标题行并抛出无法转换的格式错误的行.

有趣的来了.我需要捕获那些格式错误的记录,以便我可以报告它们.我构建了一个疯狂的LINQ语句(如下).这些扩展方法隐藏了OpenXml库中类型的凌乱LINQ操作.

var elements = sheet
    .Rows()                          <-- BEGIN sheet data transform
    .SkipColumnHeaders()
    .ToRowLookup()
    .ToCellLookup()
    .SkipEmptyRows()                 <-- END sheet data transform
    .ToElements(strings)             <-- BEGIN domain transform
    .RemoveBadRecords(out discard)
    .OrderByCompositeKey();
Run Code Online (Sandbox Code Playgroud)

有趣的部分开始于ToElements,我将行查找转换为我的域对象列表(详细信息:它被称为an ElementRow,后来转换为a Element).只使用一个键(Excel行索引)创建错误记录,并且与真实元素相比是唯一可识别的.

public static IEnumerable<ElementRow> ToElements(this IEnumerable<KeyValuePair<UInt32Value, Cell[]>> map)
{
    return map.Select(pair =>
    {
        try
        {
            return ElementRow.FromCells(pair.Key, pair.Value);
        }
        catch (Exception)
        {
            return ElementRow.BadRecord(pair.Key);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

然后,我想删除那些不良记录(在过滤之前更容易收集所有这些记录).那个方法就是RemoveBadRecords这样开始......

public static IEnumerable<ElementRow> RemoveBadRecords(this IEnumerable<ElementRow> elements)
{
    return elements.Where(el => el.FormatId != 0); …
Run Code Online (Sandbox Code Playgroud)

c# linq enumeration out

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

如何在点文件node_id中使用特殊字符?

我期待编写一个脚本,该脚本将自动从文件中获取输入并声明节点和边缘,并生成可在任何可视化软件中可视化的图形.

我试过点语言和graphViz.这种语言使用语法清楚地声明图形的节点如下:node1;,node2;并且不允许任何特殊字符,除了_.

它适用于所有情况,但是当我想声明一个名为java.lang.object它的节点时,由于存在而显示语法错误.,我无法更改其语法.

任何人都可以通过建议其他语言来帮助我,这些语言可以从文本文件中获取输入,并可以在任何可视化软件上绘制图形.

java dot graphviz graph-drawing

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

我如何获得仅知道ConsoleKey枚举和修饰符的按键的字符?

我想创建一个ConsoleKeyInfo在PowerShell会话中键入的任何开括号的匹配括号的实例(我使用PSReadline进行键处理).为方便起见,以下是所涉及的所有密钥的属性

PS> while($true){ [System.Console]::ReadKey($true) }

    KeyChar     Key    Modifiers
    -------     ---    ---------
          [    Oem4            0
          ]    Oem6            0  
          {    Oem4        Shift
          }    Oem6        Shift
Run Code Online (Sandbox Code Playgroud)

在键处理程序中,我被赋予了ConsoleKeyInfo被按下的"和弦"(并且PSReadline进行了过滤,所以我已经知道我只接收了一个Oem4或者Shift+Oem4).我想生成匹配,ConsoleKeyInfo所以我可以将对打印发送到控制台.

ConsoleKeyInfo构造需要

  • 一个 char
  • 一个 System.ConsoleKey
  • 一个bool分别用于移位,Alt和控制

我可以把ConsoleKey它变成一个int并向上移动两个......

PS> [System.ConsoleKey]([int]$key.Key + 2)
Oem6
Run Code Online (Sandbox Code Playgroud)

我可以按下按键Modifiers测试按键映射...

PS> ($key.Modifiers -band [System.ConsoleModifiers]::Shift) -ne 0
False
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何获得char此控制台密钥的文字.控制台如何从键盘键获取字符?这只能通过现场控制台/键盘来完成吗?

我宁愿不维护密钥对的映射,也不分割处理程序,每个"和弦"一个,并硬编码匹配的密钥char.:(

c# console powershell keypress

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

我可以在Linux上构建Chocolatey软件包吗?

在Windows机器上构建Chocolatey软件包非常容易.但是,到目前为止,我还没有找到一种在Linux上构建软件包的文档化方法.

例如,我如何choco.exe在Linux上运行Windows可执行文件?

chocolatey

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

我应该禁用Chocolatey安装的软件包的内置自动更新吗?

例如,我使用Chocolatey安装了Chrome.我是否需要关闭Chrome的自动更新,并且cup upgrade只能使用?

chocolatey

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

如何使用Groovy的正则表达式获取部分匹配的布尔值?

Groovy具有正则表达式“匹配运算符”(==~)。该文件说,它返回一个布尔值,但需要“严格匹配”。它没有定义“严格匹配”。

我对这个表达式所在的任何正则表达式系统都不熟悉false。但是,这就是Groovy告诉我的。

'foo-bar-baz' ==~ /bar/ // => false
Run Code Online (Sandbox Code Playgroud)

查找运算符(=~)返回一个Matcher,显然可以为匹配项和捕获组建立索引。但是,我必须编写一个显式测试以使该表达式返回布尔值。

('foo-bar-baz' =~ /bar/)[0] != null // => true
Run Code Online (Sandbox Code Playgroud)

两个问题...

  1. 什么是“严格匹配”?
  2. 如何在不向表达式中添加大量垃圾的情况下获取布尔值?

regex groovy

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

如何注册和解析服务的多个实现?

我可以注册给定服务接口的多个实现吗?

services.AddTransient<ISerivce, Service1>();
services.AddTransient<ISerivce, Service2>();
services.AddTransient<ISerivce, Service3>();
Run Code Online (Sandbox Code Playgroud)

然后,如何注入或解析数组或列表中所有已注册的实现?

var services = myTypedFactory.ResolveAll();
myCustomFactory.Release(services);
Run Code Online (Sandbox Code Playgroud)

dependency-injection .net-core

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

有没有办法“观察”或“跟踪” docker-compose ps 的输出?

我有一份包含很多服务的清单。他们有不同的启动时间。他们彼此之间存在着简单且健康条件相关的依赖关系。我想观察docker-compose ps(显然,在 后面up -d)的输出,直到它们达到某种稳定状态(例如 Up、Healthy 或 Exited)?

这仅适用于本地测试。

docker-compose

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

MSBuild Exec任务是否在STDOUT中搜索字符串“错误”?

我有一个带有单个被忽略测试的小型NUnit测试套件。我现在正在编写一个简单的MSBuild脚本来还原和发布等。我试图让dotnet test任务正常工作

<Target Name="test" DependsOnTargets="restore">
    <Exec Command="dotnet test"
          WorkingDirectory="test\Example.Tests" />
</Target>
Run Code Online (Sandbox Code Playgroud)

但是,每次都以代码-1退出!

PS> dotnet msbuild /t:test build.xml
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

    Restore completed in 50.88 ms for C:\...\src\Example\Example.csproj.
    Restore completed in 57.18 ms for C:\...\test\Example.Tests\Example.Tests.csproj.
  Build started, please wait...
  Build completed.

  Test run for C:\...\test\Example.Tests\bin\Debug\netcoreapp1.1\Example.Tests.dll(.NETCoreApp,Version=v1.1)
  Microsoft (R) Test Execution Command Line Tool Version 15.0.0.0
  Copyright (c) Microsoft Corporation.  All rights reserved.

        Starting test execution, please wait... …
Run Code Online (Sandbox Code Playgroud)

msbuild msbuild-task

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