ascii_upcase/0 and ascii_downcase/0

This commit is contained in:
pkoppstein authored and Nicolas Williams committed 2014-12-27 18:38:52 -06:00
1 parent 5df20f4954
commit 56344670f4
3 files changed
+22

No files matched your search

+6
View File
@@ -1155,6 +1155,12 @@ static const char* const jq_builtins[] = {
" exp, _repeat;"
" try _repeat catch if .==\"break\" then empty else . end;",
"def inputs: repeat(_input);",
// # like ruby's downcase - only characters A to Z are affected
"def ascii_downcase:"
" explode | map( if 65 <= . and . <= 90 then . + 32 else . end) | implode;",
// # like ruby's upcase - only characters a to z are affected
"def ascii_upcase:"
" explode | map( if 97 <= . and . <= 122 then . - 32 else . end) | implode;",
};
#undef LIBM_DD
+12
View File
@@ -1312,6 +1312,18 @@ sections:
input: '["a","b,c,d","e"]'
output: ['"a, b,c,d, e"']
- title: "`ascii_downcase`, `ascii_upcase`"
body: |
Emit a copy of the input string with its alphabetic characters (a-z and A-Z)
converted to the specified case.
example:
- program: 'ascii_upcase'
input: '"useful but not for é"'
output: '"USEFUL BUT NOT FOR é"'
- title: "`while(cond; update)`"
body: |
+4
View File
@@ -1107,3 +1107,7 @@ flatten(2)
transpose
[[1], [2,3]]
[[1,2],[null,3]]
ascii_upcase
"useful but not for é"
"USEFUL BUT NOT FOR é"