-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add examples for input
& inputs
to manual
#2470
Conversation
Maybe should also mention how |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposed examples are a bit complexing to be written in this manual, and impractical in my honest opinion, I would rather prefer command line examples with -n
, just like #2216. E.x. echo '1 2' | jq -n 'input + input'
or seq 5 | jq -n -c '[inputs]'
, or without -n
, echo '1 2' | jq '. + input'
.
I don't recommend using If you use But if you use bash-5.1$ printf %s\\n 1 2 hello 3 hi | jq -Rn 'inputs | tonumber'
1
2
jq: error (at <stdin>:3): Invalid numeric literal at EOF at line 1, column 5 (while parsing 'hello')
bash-5.1$ printf %s\\n 1 2 hello 3 hi | jq -R '., inputs | tonumber'
1
2
jq: error (at <stdin>:3): Invalid numeric literal at EOF at line 1, column 5 (while parsing 'hello')
3
jq: error (at <stdin>:5): Invalid numeric literal at EOF at line 1, column 2 (while parsing 'hi') They are not exactly the same; and in most cases you probably don't want the behaviour of |
I have at times thought about having jq detect (by scanning the final block representation before assembling the bytecode) if the program uses |
jq '. + input?'
jq '[ ., input?, input? ]' instead of jq -n '[ limits(2; inputs) ] | select(length != 0) | add'
jq -n '[ limits(3; inputs) ] | select(length != 0)' |
Why not |
@nicowilliams
|
Oh, I meant to write jq -n 'repeat([ limit(2; inputs) ]) | select(length != 0) | add'
jq -n 'repeat([ limit(3; inputs) ]) | select(length != 0)' In my You would have to use something like: jq -n 'repeat(input)? | . + input?'
jq -n 'repeat(input)? | [ ., input?, input? ]' EDIT: after writing those I realised I have basically written |
Can we have examples using |
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
Some example usages of
input
&inputs
to add to the manual.eg. given:
seq 4
seq 4 | jq -c '[input]'
seq 4 | jq -c '[., input]'
seq 4 | jq -c '[inputs]'
seq 4 | jq -c '[., inputs]'
seq 6 | jq -c '[., input], [input], [inputs]'