小编pav*_*xun的帖子

如何评估此 F# 工作流程?

我对 F# 相当陌生,但一直在阅读有关工作流程和计算表达式的内容。从我完成的阅读中,我认为我至少对工作流的目的和使用工作流的语法有了基本的了解。然后,我在这里遇到了一个例子:BitWorker Workflow

我尝试将示例代码复制到本地项目并成功运行。我开始移动一些东西并了解代码的作用,但我仍然无法理解这个工作流程的实际工作原理。我还没有看到其他示例,其中工作流程语法如下:do bitWriter stream {...而不是do workflow {....

let stream = new IO.MemoryStream()

// write TCP headers
do bitWriter stream {
    do! BitWriter.WriteInt16(12345s)           // source port
    do! BitWriter.WriteInt16(12321s)           // destination port
    do! BitWriter.WriteInt32(1)                // sequence number
    do! BitWriter.WriteInt32(1)                // ack number
    do! BitWriter.WriteInt32(2, numBits = 4)   // data offset
    do! BitWriter.WriteInt32(0, numBits = 3)   // reserved
}
Run Code Online (Sandbox Code Playgroud)

我没想到stream会成为工作流程的一部分bitWriter。这里的使用stream对工作流程意味着什么?

f#

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

如何将哈希表通过管道传递给期望字典的cmdlet?

我用C#编写了一个小的PowerShell cmdlet,它期望使用Dictionary的参数。如何在PowerShell脚本中构造HashTable(或其他对象),以便可以将其作为参数传递给cmdlet?

我试过在PowerShell脚本中创建HashTable,如下所示:

$dic = @{
    "Key1" = 1,2,3;
    "Key2" = "A","B","C";
}
Run Code Online (Sandbox Code Playgroud)

然后将其通过管道传递到我的cmdlet:

$props | Add-Properties
Run Code Online (Sandbox Code Playgroud)

我的cmdlet:

public class AddProps : PSCmdlet {
    [Parameter(ValueFromPipeline = true, Mandatory = true)]
    public Dictionary<string, object[]> Props {get; set;}

    protected override void ProcessRecord() {
        DoSomethingWithProps(Props);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够编写一个简短的PowerShell脚本,如下所示:

$dic = @{
    "Key1" = 1,2,3;
    "Key2" = "A","B","C";
}

$props | Add-Properties
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样做时,出现此错误:

输入对象不能绑定到该命令的任何参数,因为该命令不接受管道输入,或者该输入及其属性与接受管道输入的任何参数都不匹配

我检查了的类型,$props它的确是HashTable。在查看了与此管道输入问题有关的其他问题以及如何HashTable在PowerShell中进行构建之后,我仍然对这里出了什么问题不知所措。

c# powershell

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

System.Tuple 和 (,) 有什么区别?

背景:我使用了来自不同库的两种方法;一种用于参数System.Tuple<double,double>,另一种(double,double)用于参数。我发现自己无法在不做额外工作将 a 转换System.Tuple为 a 的情况下使用这两种方法(,)

System.Tuple<t1,t2>和 和有(t1,t2)什么区别?

c# tuples

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

标签 统计

c# ×2

f# ×1

powershell ×1

tuples ×1