![]() |
|
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Esta vez estoy teniendo problemas a la hora de listar archivos de un directorio con el comando 'ls'. Uso el comando ls porque éste me arroja los archivos directamente sin el resto de la ruta, de este modo me ahorro el tener que buscar y reemplazar dichas rutas, por nada, que es lo que quiero vamos: solo obtener los nombres de los archivos de un directorio.
El problema llega cuando pretendo asignar cada archivo localizado y listado por el comando ls a arrays. He intentado todo lo que se me ocurre pero no llego a ver como se podria hacer. Además me gustaria ser capaz luego de modificar en serie todos los elementos de cada array, mediante la obción buscar y reemplazar, pero '%variable()' solo es para salida de datos, y si tento 50 arrays? No voy a ir buscando y reemplazando array por array!!!! (50 acciones, una por cada array) |
|
|
|
#2
|
|
Tienes una acción de Tasker que directamente genera un array con los nombres de los archivos de una carpeta, ¿la has probado?.
Y si eso no te vale, o prefieres usar el comando de consola "ls", siempre puedes convertir una cadena de ese tipo en una array con buscar y reemplazar usando como "separador" una línea en blanco. Creo que ya te conté en otro caso cómo se hacía. Creas una variable con una línea en blanco como valor y luego usas esa variable como separador. Lo de buscar y reemplazar en todos los elementos de un array no debería ser complicado si primero usas "Variable Join" para unir todos los elementos del array en una cadena, haces la sustitución que quieras/necesites y luego separas la cadena de nuevo para regenerar el array. |
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Cita:
|
| Gracias de parte de: | ||
|
#4
|
|
Yo he entendido 50 arrays con un número indefinido de elementos.
En cualquier caso, si esas son las necesidades de la aplicación pues tendrá que hacer las 50 acciones a no ser que la parte que quiere sustituir sea la mismo en todos los casos. Si es así se podría reducir un poco el número de acciones necesarias.
|
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
Cita:
Se puede tratar cada array como un elemento de otro array de nivel superior usando separadores distintos para cada nivel, por lo que no son necesarias 50 acciones. Y con la ventaja de que es muy escalable. Pudiendo manejar miles lo mismo que decenas y/o añadir más niveles con muy poco código adicional. Sin duda sería la mejor elección (aunque no fuese la más eficiente en este caso concreto) para coger práctica con arrays/bucles. |
| Gracias de parte de: | ||
|
#6
|
|
Es tontería dar vueltas al tema hasta que no esté perfectamente definido. Una vez que estén claros los requisitos ya se verá la mejor solución, aunque hacerlo con acciones de Tasker seguramente no será la mejor opción sabiendo que, en palabras de su autor, el procesado de array es muy poco eficiente. Y menos con bucles, que es otro de los puntos flojos de Tasker.
|
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Cita:
|
| Gracias de parte de: | ||
|
#8
|
||||
|
||||
|
Cita:
Si es así, es la opción que evito usar. Por eso paso a utilizar el comando ls. Cita:
Lo de buscar y reemplazar en todos los elementos de un array no debería ser complicado si primero usas "Variable Join" para unir todos los elementos del array en una cadena, haces la sustitución que quieras/necesites y luego separas la cadena de nuevo para regenerar el array.[/quote] Exactamente lo que hice. Creo que esta haciendo lo que pretendo. |
|
#9
|
||||
|
||||
|
Creo que me equivoqué con la terminología
![]() Quise decir una array (%Fruta) con sus 50 elementos (%Fruta1 = Naranajas, %Fruta2 = Bananas, %Fruta3 = Fresas,...) Nota: Lo de 50 elementos por array era simplemente por poner un ejemplo, ya que aveces puedo tener 1 o 2 o 5, o 60 o 100 o 250... |
|
#10
|
||||
|
||||
|
Para quien desee seguir y ver donde uso todo esto, visitad el proyecto 'Grabado de llamadas', especificamente la funcionalidad de navegador interno del mismo.
Y para dejar más claro el tema, pues uso el comando ls para crear una lista de los archivos de la carpeta 'Entrante' o 'Saliente' del grabador. De este modo se puede visualizar una lista con todos los archivos de audio generados. Última edición por SmartPhoneLover Día 08/12/16 a las 13:27:38 |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 12:38:56 (GMT +1)
HTCMania: líderes desde el 2007







