Programación semántica
#!/usr/bin/env? lua?
s? =?{}
¿Respuesta? =?io.leer()? - ?Leer una cadena que puede contener caracteres chinos.
Carril. =?#(string.gsub(a,?"[\128-\191]",?"")) - ?Cuente el número de caracteres (no el número de bytes)
Imprimir (lente ) p>
¿Para qué? ¿do? ¿existir? ¿Qué significa string.gmatch(a,?".[\128-\191]*")? - ?iterar cada carácter
si? Carolina del Sur]? ==?Cero? ¿Entonces qué? - ? y contar el número de ocurrencias.
s[c]? =?1
Otro
s[c]? =?s[c] 1
Fin
Fin
¿Para qué? k,v? ¿existir? ¿Derecho(s)? Hacer-? Imprimir resultados
Imprimir (k,? cinco)
FinAunque el título no menciona específicamente la compatibilidad con Unicode, considerando que los caracteres multibyte ahora son muy comunes, también se incluye UTF- 8 soporte.
Para obtener puntos de conocimiento, consulte los siguientes capítulos de la tercera edición de "Programación LUA":
- 2.1 Cero
- 4.3 Estructura de control p>
- 7.2 La semántica general de for
- 21.1 Funciones de cadena básicas
- 21.2 Funciones de coincidencia de patrones
- 21.7 Unicode
Modelo de E/S simple
El resultado de la prueba es el siguiente:
moose@debian: ~/Code/Baidu_knowledge/Lua_string$? . /lua_string.lua?
Ni Hao, hola
Siete
a1
h1
Está bien, 1
i1
tu1
o1
n1
moose @ debian:~/Code/Baidu _ conocimiento/Lua _ cadena $ ? . /lua_string.lua?
Hola, hola.
Cuatro
Bueno 2
Níquel 2
moose@debian: ~/Code/Baidu_knowledge/Lua_string$? . /lua_string.lua?
Programación en lenguaje Lua: ingrese una cadena con una longitud no mayor a 50 y encuentre el número de apariciones de cualquier carácter en la cadena.
43
a1
Operador 3
1
Medio 1
, 2
Número 1
Buscar 2
Cadena 2
l1
01
Grado 1
Super 1
u1
Puntuación total 2 puntos
Número 1
1
Número 1
1
p>Escuela Secundaria 1
Entrada 1
Cheng 1
: 1
1 de
Significa 1
Idioma 1
1
. 1
Ingrese 1
Ahora 1
Usar 1
Longitud 1
Cualquiera 1
51
Palabra 3
Yan 1
Quiero 1
Más de 1