Descomponer palabra en sílabas - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Descomponer palabra en sílabas (/thread-1428.html) |
Descomponer palabra en sílabas - Shell - 29-06-2023 Buenas!. Es un ejercicio que estoy haciendo. No es sencillo, se necesitan distintas condiciones. Estoy comenzando por la primera condición. "La palabra comienza por consonante". Por ahora me encuentro el problema que la palabra acabe en consonante. He añadido al array de vocales, las vocales con tildes, pero creo que estos elementos se pueden evitar. ( Añadirlos es más fácil ). La idea es que funcione por ahora la primera condición. Código: Private vocales As String[] = ["a", "e", "i", "o", "u", "á", "é", "í", "ó", "ú"] ¿ Cómo haríais para solventar el problema de la consonante al final ?. ( Lo sé, seguro que después encuentro la solución ). Saludos RE: Descomponer palabra en sílabas - Shell - 29-06-2023 Parece que ahora funciona mejor. La función ConsonanteAlPrincipio, me ha quedado así: Código: Public Function ConsonanteAlPrincipio(cadena As String) As String Lógicamente no he optimizado el ejemplo Y que le faltan otras condiciones, naturalmente. Saludos RE: Descomponer palabra en sílabas - guizans - 29-06-2023 Hace algún tiempo que desarrollé una librería en Gambas para descomponer las palabras en sílabas. No me preguntes mucho como funciona, como siempre no comenté el código y sinceramente no tengo ni puta idea de lo que hace cada cosa. También es verdad que lo que hice fue traducir literalmente una biblioteca, que no me acuerdo como se llama, de Python a Gambas, sin pararme a optimizar ni nada por el estilo. En principio debería funcionar sin problemas. Échale un ojo a ver si te sirve y si realmente funciona. Un saludo. RE: Descomponer palabra en sílabas - Shell - 29-06-2023 Pruebo y te comento. Gracias. Encontré un error aquí. He comentado la linea errónea. Código: Public Function silabaTonica(palabra As String) As String ''Retorna la sílaba tónica de una palabra Y funciona bien. Hasta lo que he visto. Pues debe tener algo más. Si va con .Count con unas palabras y con .Max con otras. He probado con la palabra "soldado" y con .Count falla y he probado con "árbol" y necesita .Count, así que debe haber algo más. RE: Descomponer palabra en sílabas - Shell - 30-06-2023 He bajado con pip3 la fuente del proyecto. Para ver como es el código original y como va. Ya que directamente bajar la fuente desde github e intentar usar la clase, da problema por el tema de paquetes. Pero no acaba ahí la cosa. En Linux Mint Mate 20.3 se usa por defecto Python 3.8.10 y el proyecto requiere la 3.9. Este método .removesuffix() no existe en la clase str en la versión 3.8.10 Opinión personal. El desarrollador "pudo" crear un método propio y ser independiente de los métodos que incluye cada versión. Lo que demuestra en parte: - El método puede ser complicado a la hora de crearlo por si mismo. - Utilizó algo que ya estaba precocinado. Aprovechó lo que tenía. - Los desarrolladores "parece" que somos muy "comodones". Eso desde luego es un problema. La creatividad en parte se anula. Y usamos una caja negra y todos contentos. Como funciona a mi plin, yo duermo con Pikolin. Ni te digo ya que la versión de Python va ya por la 3.11. ( La estable ). Y eso de subir de versión no me acaba de agradar ( si no lo rompe todo ) o tienes que estar usando otras tácticas. Que por lo general es lo que se usa. ( Falta de costumbre ). A cada versión de la distro, versión nueva de Python. Siempre actualiza dentro de la que tienes. En mi caso 3.8.X Tuviste que complicarte bastante para llevarlo a Gambas. Es que no parece un código sencillo. Ya en Python es lioso. Tuviste que reinventar. Otra función que he cambiado es esta: Código: Private Function contiene2(lis As String[], pala As String) As Boolean Me ha funcionado igual. Saludos RE: Descomponer palabra en sílabas - Grandamakulo - 30-06-2023 Con el módulo PCRE se pueden añadir REGEXP a Gambas3 con cierta limitaciones. Aquí aporto mi contador de sílabas —se puede usar como «silabador» fácilmente—. Espero que sea de ayuda: Código: ' **** Estadísiticas de un texto. Por si acaso el código es un poco espeso —soy yo XP—, el patrón de «silabación» para castellano es: [aeo]h[iu]|[iu]h[aeo]|[aeo][iu]|[aeo][y]|[y]|[íú]|[iu][^aeo]|[aeo]|[áéíóú]|[q|g]ui[aeo] RE: Descomponer palabra en sílabas - guizans - 02-07-2023 La verdad es que si me que me costó "traducir" de Python a Gambas. Pensé que lo había probado todo pero por lo que veo me quedó algo en el tintero. El código es muy lioso y no tengo ni idea de lo que hace cada cosa. En el proyecto original tampoco está comentado, por lo tanto me he dedicado a traducir el proyecto, no a estudiar lo que hace y como lo hace. Me alegro que haya servido para algo. Un saludo. |