expr
expr copied to clipboard
Allow methods to be used in pipes `foo | some.Method(42) | foo.Bar()`
map(filter(Imp.GetTorrents(nil), .Name contains `The.Simpsons`), .Hash) | Imp.RemoveTags(`yamz`)","error":"unexpected token Operator(\".\") (1:78)\n | map(filter(Imp.GetTorrents(nil), .Name contains `The.Clam`), .Hash) | Imp.RemoveTags(`yamz`)
{"level":"trace","program":"test-program","query":"map(filter(Imp.GetTorrents(nil), .Name contains `The.Clam`), .Hash) | Imp.RemoveTags(`yamz`)","error":"unexpected token Operator(\".\") (1:78)\n | map(filter(Imp.GetTorrents(nil), .Name contains `The.Simpsons`), .Hash) | Imp.RemoveTags(`yamz`)\n | .............................................................................^","time":1747350352,"message":"expr completed: <nil>"}
vs
let egg = Imp.RemoveTags; map(filter(Imp.GetTorrents(nil), .Name contains `The.Clam`), .Hash) | egg(`yamz`)
{"level":"trace","program":"test-program","query":"let egg = Imp.RemoveTags; map(filter(Imp.GetTorrents(nil), .Name contains `The.Clam`), .Hash) | egg(`yamz`)","time":1747350503,"message":"expr completed: <nil>"}
This is a kind of decision on language design. Now for pipes only function allowed. Methods are not.
- Should we allow methods to be used in pipes?
- What is the use case?
- Does it make expressions more readable?