String case: Difference between revisions
Add BCPL
No edit summary |
Not a robot (talk | contribs) (Add BCPL) |
||
Line 646:
:sub(Str1,2,length(Str1)-2)→Str1
:Pause Str1</lang>
=={{header|BCPL}}==
<lang BCPL>get "libhdr"
// Check whether a character is an upper or lowercase letter
let islower(x) = 'a' <= x <= 'z'
let isupper(x) = 'A' <= x <= 'Z'
// Convert a character to upper or lowercase
let toupper(x) = islower(x) -> x - 32, x
let tolower(x) = isupper(x) -> x + 32, x
// Map a character function over a string
let strmap(f,s) = valof
$( for i=1 to s%0 do s%i := f(s%i)
resultis s
$)
// Convert a string to upper or lowercase
let strtoupper(s) = strmap(toupper,s)
let strtolower(s) = strmap(tolower,s)
let start() be
$( let s = "alphaBETA"
writef(" String: %S*N", s)
writef("Uppercase: %S*N", strtoupper(s))
writef("Lowercase: %S*N", strtolower(s))
$)</lang>
{{out}}
<pre> String: alphaBETA
Uppercase: ALPHABETA
Lowercase: alphabeta</pre>
=={{header|Befunge}}==
|