【问题标题】:Get List of Files in Sub Directories for FAKE获取 FAKE 子目录中的文件列表
【发布时间】:2014-09-11 17:22:16
【问题描述】:

我正在尝试使用 FAKE 来构建位于多个子目录中的 F# 文件。 filesInDirMatching 来自 FAKE。

#r @"packages/FAKE/tools/FakeLib.dll"
open System.IO
open Fake
open Fake.FileSystemHelper
open Fake.FscHelper

let allDirs = DirectoryInfo(__SOURCE_DIRECTORY__).GetDirectories "*"
let all = allDirs |> Array.map(fun d -> filesInDirMatching "Example.fs" d)

除了最后一行,它创建了一个二维数组(因为 filesInDirMatching 创建了一个新的 FileDirectory 数组,我猜)之外,这一切都有效。是否可以将二维数组简化为一维数组?或者有更好的方法吗?

【问题讨论】:

标签: f# f#-fake


【解决方案1】:

我猜你所说的二维数组是指数组数组(锯齿状数组)。

如果是这样,只需将您的 Array.map 替换为 Array.collect

【讨论】:

  • 哎呀!你是对的,先生。我让它和这个一起工作!谢谢!
【解决方案2】:

您可以使用Array.concat 将数组展平为一维:

let all = allDirs
          |> Array.map(fun d -> filesInDirMatching "Example.fs" d)
          |> Array.concat

【讨论】:

  • 我试过了,这也可以。希望我也可以将您的答案设为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 2017-01-18
  • 1970-01-01
相关资源
最近更新 更多