我刚刚在ProjectScaffold生成的FAKE构建脚本中找到了这个目标:
// Copies binaries from default VS location to expected bin folder
// But keeps a subdirectory structure for each project in the
// src folder to support multiple project outputs
Target "CopyBinaries" (fun _ ->
!! "src/**/*.??proj"
-- "src/**/*.shproj"
|> Seq.map (fun f -> ((System.IO.Path.GetDirectoryName f)
</> "bin/Release", "bin"
</> (System.IO.Path.GetFileNameWithoutExtension f)))
|> Seq.iter (fun (fromDir, toDir) -> CopyDir toDir fromDir (fun _ -> true))
)
Run Code Online (Sandbox Code Playgroud)
我的问题:这个奇怪的</>操作员做什么?
(我的互联网搜索不是很成功.)
Ola*_*laf 11
运算符</>是一个中缀运算符,它将两个路径段组合成一个完整的路径.在这方面,它几乎与@@运算符相同.在</>因为@@运营奇怪的行为在类UNIX系统在第二路径以根目录开头的接线员是@@操作后创建.
以下是从GitHub上的问题描述中获取的示例.
"src" @@ "/home/projects/something" returns "src/home/projects/something"
"src" </> "/home/projects/something" returns "/home/projects/something"
Run Code Online (Sandbox Code Playgroud)
运算符在EnvironmentHelper中定义:https: //fsharp.github.io/FAKE/apidocs/fake-environmenthelper.html
这些链接指向问题描述:https: //github.com/fsharp/FAKE/issues/670,https: //github.com/fsharp/FAKE/pull/695