« Return to Thread: Glob-mapper functions added like FileTree
Not a bad idea. The .g would have to be after the directory in which to search. Paulp also suggested just using the existing regularExpression.
So....
for {
file <- pwd / "**/*.log".r
...
or...
for {
file <- pwd / "**/*.log".g
I'm thinking .g might actually be required so we can specially handle the ** as "in any subdirectory". If we used pure regular expressions, it would confuse those who expected glob-mapping. Perhaps a combined approach that would allow either?
- JoshOn Sun, Jun 21, 2009 at 3:10 PM, Alex Boisvert <boisvert@...> wrote:
Another idea would be to define a pimp conversion "globExpression".g analogous to the standard "regularExpression".r
for {
file <- (pwd + "/**/*.log").gThe ** and * globs are easy to masquerade into the syntax but what about things like .{c, cpp, java} ?
lines <- file.readLines
if line startsWith "[ERROR]"
} yield line
for {
file <- (pwd + "/**/*.{java,scala}").galex
lines <- file.readLines
if line startsWith "[ERROR]"
} yield line
On Sun, Jun 21, 2009 at 11:21 AM, Josh Suereth <joshua.suereth@...> wrote:
Wanted to get people's thoughts on glob-mapping of files using the File-Tree-Walker style interface. (This is an idea I got from SBT)
Imagine the following code:
for {
file <- pwd / ** / "*.log" //The spaces are necessary so we don't make a comment!
lines <- file.readLines
if line startsWith "[ERROR]"
} yield line
for pulling out all lines from all log files under the current working directory or any sub-directory.
Another example:
for {
file <- pwd / * ".log"
lines <- file.readLines
if line startsWith "[ERROR]"
} yield line
This would do something similar to the above but only for one directory.
I'm not exactly happy with the operators used, but I do like the idea. Any thoughts?
- Josh
« Return to Thread: Glob-mapper functions added like FileTree
| Free embeddable forum powered by Nabble | Forum Help |