小编Pet*_*erB的帖子

VBE导入代码模块是错误的类型

我从Git Repository下载了一些代码模块(.cls文件).当我将(部分,而不是全部)导入VBE(文件:导入)时,它将其作为"标准"模块导入(就像它是.bas文件一样).

如果我在Notepad ++中打开cls文件,将整个内容复制到一个新文件并保存为"a.cls"然后我可以导入它并正确解释为一个新类.

我完全困惑并且需要经过许多代码模块,我不想手动重新保存每个模块.

有没有人有任何想法?


编辑

我在Windows 10上导入到Excel 2016(64位).我不知道创建文件的Excel版本.

文件位于:https://github.com/ckuhn203/VBEX/tree/master/src

例如:Monadic.cls作为标准模块文件导入.

vba

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

F#查找过去5天内修改的子目录中的所有文件

我对F#很新,所以请保持温柔.我试图用函数式编写代码来查看过去5天内修改过的所有文件的目录(和子目录),然后对这些文件执行某些操作(此时只是将名称写入控制台) .

我的代码是:

open System.IO

let rec getAllFiles dir pattern =
    seq { yield! Directory.EnumerateFiles(dir, pattern)
          for d in Directory.EnumerateDirectories(dir) do
              yield! getAllFiles d pattern }

let printMe x = printfn "%A" x

let hasChangedRecently fileName =
    let myFile = System.IO.FileInfo(fileName)
    let f myFile = function
    | myFile when myFile.LastWriteTime >= System.DateTime.Parse "10-04-2015" -> printMe MyFile.Name
    | _ -> ()

    f fileName

[<EntryPoint>]
let main argv =
    getAllFiles @"c:\temp" "*.xml"
    |> Seq.iter hasChangedRecently

    System.Console.ReadKey() |> ignore
    0 // return an …
Run Code Online (Sandbox Code Playgroud)

f#

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

无法在 F# Chiron 中序列化受歧视联盟

如果我有:

type a = B | C
Run Code Online (Sandbox Code Playgroud)

如何编写静态成员 ToJson 和 FromJson?

我知道如何为记录类型编写它(如Chiron: JSON + Ducks + Monads的示例所示 ),但我找不到 DU 的任何示例。


编辑

在 s952163 有用的答案(以及后续评论)之后,我调整了代码以尝试使用选择 A | 的“简单”DU。B(而不是字符串的 A | ... 的 B)。我的代码现在是:

type SimpleDU =
    | A
    | B
    static member ToJson (t : SimpleDU) =
        match t with
        | A -> Json.writeNone "a"
        | B -> Json.writeNone "b"
    static member FromJson (_ : SimpleDU) =    
        json {
            let! duA = Json.tryRead "a"
            match duA with
            | Some s …
Run Code Online (Sandbox Code Playgroud)

serialization f# discriminated-union

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

标签 统计

f# ×2

discriminated-union ×1

serialization ×1

vba ×1