Yes

caveats:

my (un)icon says it is ASCII in &features.

answer: map does it.

the unicon book (p 40) in the 2014 edition has a function map(string,select,replacements)

(I named  the 3 parameters)

the 2nd parameter defaults to the ordered string of uppercase characters i.e. ABCD .. XYZ

the 3rd parameter defaults to the ordered string of lowercase characters i.e. abcd .. xyz

Example

map("MyMixed Case String",,)

# the commas are optional

Map looks at the characters in parameter1, and if any match those in parameter2, they are replaced by the equivalent ones in parameter 3.

e.g 'M' in "My" and "Mixed" is replaced each time by 'm', 'C' in "Case" is replaced by 'c' and 'S' in "String" is replaced by 's'.

You can get other helpful effects if you don't use the defaults. toupper(string) is map(string,&lcase,&ucase)

hth Jay Hammond


here is p40

*Listing 3-1*
*A simple concordance program*
procedure main(args)
(*args = 1) | stop("Need a file!")
f := open(args[1]) | stop("Couldn't open ", args[1])
wordlist := table()
lineno := 0
while line := map(read(f)) do {
lineno +:= 1
every word := getword(line) do
if *word > 3 then {
# if word isn't in the table, set entry to empty list
/wordlist[word] := list()
put(wordlist[word], lineno)
}
}
L := sort(wordlist)
every l := !L do {
writes(l[1], "\t")
linelist := ""
# Collect line numbers into a string
every linelist ||:= (!l[2] || ", ")
# trim the final ", "
write(linelist[1:-2])
}
end
procedure getword(s)
s ? while tab(upto(&letters)) do {
word := tab(many(&letters))
suspend word
}
endIf we run this program on this input:
Half a league, half a league,
Half a league onward,
All in the valley of Death
Rode the six hundred.the program writes this output:
death 3
half 1, 2
hundred 4
league 1, 1, 2
onward 2
rode 4
valley 3First, note that the main() procedure requires a command-line argument, the name of afile to open. Also, we pass all the lines read through the function map(). This is afunction that takes three arguments, the first being the string to map; and the second andthird specifying how the string should be mapped on a character by character basis. Thedefaults for the second and third arguments are the uppercase letters and the lowercaseletters, respectively; therefore, the call to map() converts the line just read in to alllowercase.




On 30/05/2016 20:18, John Sampson wrote:
Does Unicon have the equivalent of Python's "lower" method, to convert a
string from uppercase to lowercase?


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to