小编Jon*_*n49的帖子

Vim:双引号在命令开头意味着什么?

例如,当我从寄存器向编辑器写一个宏命令r

"rp
Run Code Online (Sandbox Code Playgroud)

这个引用是什么意思?

我似乎无法在任何地方找到答案.

vim

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

将Base 1阵列更改为Base 0阵列

我正在从Excel中检索数据,并希望保持我的数组0基础,但Excel返回1个基数.是否有一种相当简单的方法可以将数组从1更改为0基数?或者我只需要创建一个循环?

这是一个示例代码:

dim oData(,) as object
dim rng as range
dim wks as worksheet = xlApp.Activeworkbook.sheets(Sheet1)

rng=wks.Range("A1:B2")

oData=rng.Value2
Run Code Online (Sandbox Code Playgroud)

vb.net arrays excel import-from-excel

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

确定目录中是否有任何文件更改过最新的Git提交

我正在为写一个post-commit钩子git。我想知道最新提交是否更改了特定目录中的任何文件。如果有任何更改,我可以继续并调用一些昂贵的代码,否则我可以跳过它。

所以,到目前为止,我得到的是像这样的简短哈希

# get last commit hash prepended with @ (i.e. @8a323d0)
function parse_git_hash() {
  git rev-parse --short HEAD 2> /dev/null | sed "s/\(.*\)/@\1/"
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要确定指定目录是否有任何更改。但是我不确定该怎么做。我已经看了,用打git-loggit-show,但没有成功为止。

所以,我需要做这样的事情。

if [directory-changed()] {
  echo "start expensive operation"
}
Run Code Online (Sandbox Code Playgroud)

这实际上使我进入了其中:实际上,它捕获了最后一次提交而不是指定的提交。

git log  -U a79851b -1 my/directory/path
Run Code Online (Sandbox Code Playgroud)

提前致谢。

git githooks

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

遍历比赛并替换为VBA RegEx

是否可以遍历VBA RegEx匹配项并替换为ID值给出的特定数据?

例如,

<a id="a-UP:124" {REPLACEITEMHERE}
.../a>
Run Code Online (Sandbox Code Playgroud)

用我的模式是这样的:

<a id="a-([\w\d]+:[\w\d]+)" ({REPLACEITEMHERE})
Run Code Online (Sandbox Code Playgroud)

因此,我有多个“替换项”,每个项对于的值都是唯一的UP:124

这可能VBA RegEx吗?我只是想知道,然后再经历一个比较麻烦的过程!谢谢!

更新(根据评论者的请求提供更多详细信息-希望这可以使我更清楚寻找的内容!我了解如何创建模式,使其更加遍历结果,然后对我拥有的每个发现执行替换麻烦。谢谢!):

这是我正在使用的RegEx模式:

<a id="a-([\w\d]+:[\w\d]+)"[^{]+({FILE})[^{]+({PERCENT})[^{]+({COLOR})
Run Code Online (Sandbox Code Playgroud)

设置为:

.Global = True
.IgnoreCase = True
.MultiLine = False
Run Code Online (Sandbox Code Playgroud)

替换模式,我想是检查什么第一个捕获组的值$1是,然后替换值{FILE} {PERCENT} {COLOR}(组$2$3$4)用适当的值,我存储在一个类中。

<path
   style="fill:#d40000;fill-opacity:1;filter:url(#filter5248)"
   d="m 168.04373,162.08375 c -4.7586,-5.00473 -8.65201,-9.35811 -8.65201,-9.67419 0,-0.81973 18.30811,-16.3921 25.16949,-21.40847 7.11903,-5.20474 16.462,-10.93031 17.83606,-10.93031 0.56369,0 3.81291,5.56174 7.22048,12.35942 l 6.19558,12.35941 -7.13301,3.9009 c -7.96536,4.3561 -21.53264,13.83148 -27.5305,19.22729 -2.16466,1.94738 -4.05237,3.47876 -4.19491,3.40307 -0.14254,-0.0757 -4.15257,-4.2324 -8.91118,-9.23712 z"
   id="path5246"
   inkscape:connector-curvature="0" …
Run Code Online (Sandbox Code Playgroud)

regex excel vba excel-vba

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

TypeScript 在 TypeScript 4 中将导出 {} 附加到文件末尾,但在 TypeScript 3 中则不然

我有一个iife我想编译的文件和import类型的声明。在 TypeScript 版本 3.* 中,它可以正确编译。但在 TypeScript 版本 4.* 中,它会附加一个export {}. 有办法防止这种情况吗?

这是打字稿文件test.ts

import { Tester } from "./tester"

(async function test() : Promise<Tester> { return { hello: "export" } }())
Run Code Online (Sandbox Code Playgroud)

tester.d.ts

export interface Tester {
    hello: string
}
Run Code Online (Sandbox Code Playgroud)

使用 TypeScript 4.* 生成的文件test.js

(async function test() { return { hello: "export" }; }());
export {};
Run Code Online (Sandbox Code Playgroud)

使用 TypeScript 3.9.* 生成的文件test.js

(async function test() { return { hello: "export" }; }());
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json …

typescript

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

F# 记录属性的 nameof

我正在尝试使用nameofF# 5.0 预览版中的新功能。它适用于values但不适用于记录属性,例如:

type MyType { Id: int }
let name = nameof MyType.Id
Run Code Online (Sandbox Code Playgroud)

这会导致错误FS0728 Field 'Id' is not static

我尝试这样做:

let name = nameof<MyType.Id>
let name = nameof(MyType.Id)
let name = nameof Id
Run Code Online (Sandbox Code Playgroud)

也没有修复错误。有没有一种特殊的方法我应该这样做或者没有nameof完全实施?

f# nameof

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

无法将类型为"<> d__6"的对象强制转换为"System.Object []"

我正在尝试延迟加载(带有yield返回的扩展)2D对象数组中的行.我收到以下错误:

c#无法将类型为"<> d__6"的对象强制转换为"System.Object []".

在该Parse方法中找到的此行上发生异常:

yield return (TSource) conversion(o);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么C#认为返回值<>d__6代替Object[].我通常编程,VB.NET所以我不认为我理解的细微差别C#.我究竟做错了什么?我看了其他类似的问题/答案,但仍然感到困惑.

public static IEnumerable<TSource> Parse<TSource>(this object[,] array
        , Func<IEnumerable<object[]>, IEnumerable<TSource>> conversion
        , int rowStart, int columnStart, int rowCount, int columnCount)
    {

        IEnumerable<object[]> o 
            = array.ForEachRow(rowStart, columnStart, rowCount, columnCount);

        yield return (TSource) conversion(o);

    }
Run Code Online (Sandbox Code Playgroud)

ForEachRow方法:

    public static IEnumerable<object[]> ForEachRow(this object[,] array, 
               int rowStart, int columnStart, int rowCount, int columnCount)
    {

        object[] array1d=new object[columnCount];
        for (int row = rowStart; row < …
Run Code Online (Sandbox Code Playgroud)

c# static yield-return

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

创建一个包含两个文件名的快捷方式,一个是可变的

我想创建一个调用两个文件的快捷方式,首先,它调用Excel.exe,然后调用我的加载项.

我测试了它做了以下事情:

Target:
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "C:\MyAddin.xll"
Run Code Online (Sandbox Code Playgroud)

它工作正常.现在我想在inno-setup中实现它.

我必须通过inno-setup中的一些自动化获取Excel.exe位置,我将其存储在全局变量中.

这就是我尝试过的:

Name: {commondesktop}\{#MyAppName}; Filename: ExcelExecutablePath; 
Parameters: {app}\{#MyAppExeName}; Tasks: desktopicon; 
Flags: CreateOnlyIfFileExists; IconFilename: {app}\Icons\TimeCard64.ico;
Run Code Online (Sandbox Code Playgroud)

我也尝试了其他的东西,但是我在这个方面有点亏.

提前致谢.让我知道我是否应该更清楚一些事情!

shortcuts inno-setup

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

未定义类型“ XmlProvider”

我正在尝试使用FSharp.Data第三方库,但The type 'XmlProvider' is not definedXmlProvider类上遇到了错误。

namespace KMyMoney

open FSharp.Data

  module Read =

    let xml = File.ReadAllText("KMyMoneySampleFile.xml")
    type KMyMoneySource = XmlProvider<xml>
Run Code Online (Sandbox Code Playgroud)

我正在使用NuGet来获取库。库为'FSharp.Data 1.1.8'

当我键入FSharp.Data.有四个选项中给出:CsvFreebaseOperatorsJson,和RuntimeImplementation

我想念什么吗?我对F#比较陌生。因此,对这个简单的问题感到抱歉。我看过GitHub,但没有看到任何有关此问题的信息。我正在F#中创建一个库。

f# type-providers f#-data

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

使用 VS Code 从 HTML `&lt;script&gt;` 引用 TypeScript 定义文件

我可以在 HTML 中的标记JSDoc中使用script,但无法引用类型定义文件 ( .d.ts)。我在用着VS Code。这可能吗?如果可以我该怎么做?下面是一些示例代码:

tsconfig.json文件(我不确定如何在我的测试中完全使用它,它似乎不需要。):

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "myLib": ["types/MyLib/index.d.ts"],
            "myLib2": ["types/MyLib/index2.d.ts"]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

尝试1:

types/MyLib/index.d.ts

declare namespace myLib {
  function makeGreeting(s: string): string
  let numberOfGreetings: number
}
Run Code Online (Sandbox Code Playgroud)

在 JS 文件中index.js,工作正常:

/// <reference path="./types/MyLib/index.d.ts" />
// @ts-check

var result = myLib.makeGreeting("Cheese")
console.log(result)
Run Code Online (Sandbox Code Playgroud)

在 HTML 文件中(这些都不起作用)index.html

<script>
    /// <reference path="./types/MyLib/index.d.ts" />
    // @ts-check
    var result = myLib.makeGreeting("Cheese")
</script>

<script> …
Run Code Online (Sandbox Code Playgroud)

html jsdoc typescript visual-studio-code

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

F#Make Async <Async <MyTpe> []> to Async <MyType> []

我从HTTP呼叫中获得了一些数据列表.然后我知道另一个HTTP电话会得到什么值.我希望一切都是异步的.但我需要使用这个数据Expecto testCaseAsync : string -> Async<unit> -> Test.所以,我的目标是获得这样的签名Async<Item>[]

所以,我想得到一份清单testCaseAsync.

所以,我基本上有这样的事情:

// Async<Async<Item>[]>
let getAsyncCalls =
   async {
       let! table = API.getTable ()
       // Async<Item>[]
       let items =
           table.root
           |> Array.map (fun x -> API.getItem x.id)
       return item
   }
Run Code Online (Sandbox Code Playgroud)

如果我并行运行它,我得到:

// Async<Item[]>
let getAsyncCalls =
   async {
       let! table = API.getTable ()
       // Item[]
       let! items =
           table.root
           |> Array.map (fun x -> API.getItem x.id)
       return item
   }
Run Code Online (Sandbox Code Playgroud)

所以,这不会让我这么做Async<Item>[].我不确定这是否可行.我想避免 …

f# asynchronous expecto

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

Kotlin需要具有Gradle构建的库

我正在尝试将Exposed库添加到我的项目中.所以,它引导我到bintray页面,它说它要使用compile 'org.jetbrains.exposed:exposed:0.8.5'.我打开我的文件build.gradle并将该文件放入dependencies段中:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    compile 'org.jetbrains.exposed:exposed:0.8.5'
}
Run Code Online (Sandbox Code Playgroud)

IntelliJ auto构建它,我收到以下错误

警告:根项目'DB-Table-To-Orm':无法构建Kotlin项目配置详细信息:java.lang.reflect.InvocationTargetException:null由以下原因引起:org.gradle.api.artifacts.ResolveException:无法解析所有依赖项配置':compileClasspath'.引起:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到org.jetbrains.exposed:expposed:0.8.5.在以下位置搜索:https : //repo1.maven.org/maven2/org/jetbrains/exposed/exposed/0.8.5/exposed-0.8.5.pom https://repo1.maven.org/maven2/org /jetbrains/exposed/exposed/0.8.5/exposed-0.8.5.jar 必需:project:

所以,我期待在回购并没有超出路径jetbrainsexposed目录.

如何使用Gradle安装Exposed库?他们的路径写得不正确吗?我应该在项目中添加错误报告吗?或者我只是把compile声明放在错误的位置?

很抱歉,如果这似乎是一个愚蠢的要求,我是新来的JavalandKotlinIntelliJ.走向.NET世界.

更新

这是build.gradle完整的:

group 'com.awebsite.db-table-to-orm'
version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1.4-2'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'

repositories {
    mavenCentral()
    jcenter()
} …
Run Code Online (Sandbox Code Playgroud)

gradle kotlin kotlin-exposed

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