shake-build-system - 排除匹配的文件模式
问题描述
Shake 使用各种形式的匹配,文件路径对模式。有没有可以用来排除模式的?
示例:我有三个目录a, b, c
(在 directory 中的某个位置x
),每个目录都需要html
文件。有一个规则
(dir <> "//*.html") %> \out -> do -- deal with a and b
它应该只处理目录 a 和 b 以及处理 c 中文件的类似规则。
有没有办法(可能使用?>
)将两个规则分开
(\f -> "x" prefixOf f && not "x/c" prefixOf f) <> "//*.html")
(\f -> "x/x" prefixOf f ) <> "//*.html")
和其他类似?
推荐的使用方法在这里是不可能的,因为文件是用其他需要常规扩展名的程序处理xx.a.html
的。xx.b.html
html
或者
解决方案
规则:
pattern %> action
相当于:
(pattern ?==) ?> action
所以你可以写:
(\x -> "//*.html" ?== x && not ("c//*.html" ?== x) ?> action
匹配规则匹配//*.html
,但不匹配c//*.html
。
更一般地说,根本不需要使用FilePattern
?==
运算符,因此可以使用任意匹配的谓词来代替。
推荐阅读
- android - 我如何对 recyclerview 应用限制?
- java - 球体体积的计算不正确
- c++ - 使用不同的行执行 2D dft 时出错,使用 FFTW 的 col 大小
- powershell - 如何在 Powershell 中对 3000 万条 csv 记录进行排序
- javascript - 如何在angular8+中调用innerHtml中的post方法脚本?
- javascript - 当屏幕尺寸超过一定宽度尺寸时如何运行javascript?
- apache-spark - 资源匮乏下 Kubernetes 上的 Spark 作业无限期等待 SPARK_MIN_EXECUTORS
- c# - 是否允许 Native App 客户端在重定向 URI 中使用任何随机可用端口?
- reactjs - 为什么无论状态是对象还是字符串,React 都会以不同的方式重新渲染?
- javascript - 如何将所有导入的模块存储在一个文件中