« first day (1907 days earlier)      last day (1194 days later) » 

2:01 PM
Buenos días !!!
0
Q: C# Detectar los bordes de una foto que contiene un documento Ej: Tarjeta de Crédito, Pasaporte, Cédula

Javier RamírezEstoy implementando un software donde el se le solicita al usuario tomar fotos de diferentes tipos de documentos cómo el pasaporte, la licencia de coducción, el id, etc... El problema es que necesito detectar el área del documento y recortar la fotografía para ocupar únicamente el documento. Actu...

En donde rayos te piden esos documentos de ese modo ???
 
@Excorpion fotos del documento? en muchos lados...
 
Pues sip, incluso hay varias app de android que sirven precisamente para escanear documentos con la cámara y poder usarlos en otros sitios digitalmente
Y ahora con esto del teletrabajo y las restricciones de movimiento, aquí muchos sitios públicos te piden que mandes los documentos escaneados en vez de llevarlos en persona!
 
No se, no me fío de que me esté pidiendo fotos de mi tarjeta de crédito
 
@Excorpion no es de la tarjeta de credito.. es de los documentos...
si no, no tienen como validar que seas vos....
 
En las imágenes lo que se ve son claramente documentos de identidad, no tarjetas de crédito. Pero supongo que en realidad si haces un software capaz de detectar correctamente uno, detectará correctamente cualquier otro tipo de tarjeta
 
2:12 PM
@Excorpion ya lo reporte XD
 
@FranciscoNúñez que reportaste?
 
@gbianchi en titulo dice que tarjeta de crédito ... me imagino que se refiere es al formato ... pero tambien pide pasaporte.... ósea cuadernillo; pero como no puso ningún ejemplo de lo que ha hecho o que error le sale intuyo que ha venido a que le hagan el trabajo...
 
@Benito-B no. porque una vez que detectas una tarjeta, deberias saber que buscar...
 
@gbianchi el post de la tarjeta...
 
pero que fue lo que reportaste??? :(
no habia nada para reportar ahi :(
bastaba con dejarle un comentario... :(
 
2:16 PM
necesita mejoras le puse ....
 
y ponerle un comentario pidiendoselas no?
 
@gbianchi reportar->necesita mejoras; no por que ya se lo pusieron 2 veces... para que mas spam
te parece mal?
 
El reporte.. la manda a la cola de publicaciones de baja calidad.. para cerrarla...
 
Buenas tardes
 
Es una pregunta para cerrar por ese motivo?
 
2:18 PM
@gbianchi si ´pro que no incluye ningun codigo solo imagenes y la pregunta necesita mejoras y como una vez me dijeron por aqui se cierra para evitar que reciba mas votos negativos.... y el OP tenga la oportunidad de editar y solicitar re abrirla
 
@FranciscoNúñez ok
 
@gbianchi Si necesitas buscar algo en ella si. Si es un documento de identidad, lo normal es que simplemente lo almacenen. Al menos para eso lo suelen solicitar las entidades públicas aquí. Simplemente necesitan tener una copia de tu DNI para poder identificarte
 
@Benito-B ah yo decia que detectar un documento y hacerle OCR no es lo mismo que una tarjeta.. tenes que saber que buscar...
 
@Benito-B me imagino que buscan optimizar el almacenamiento y recortar el documento al Area aprobechable....
 
@FranciscoNúñez Exacto, por eso digo que una vez hecho un software que detecte documentos, te dará igual qué tipo de documento es xD
Pero obviamente si van a usar OCR para algo es muy diferente
 
2:21 PM
@gbianchi estoy asumiendon que el OP no sabe ni para que se usa OCR; ya que claramente dice detectar bordes... XD y OCR es para texto si no me equivoco...
 
@FranciscoNúñez entonces, mejor dejarle comentario tambien ;)
 
@FranciscoNúñez no lo creo. La pregunta es muy especifica, no busca ocr, busca recortar una imagen para que contenga solo el documento
 
@gbianchi si claro. dejame y se lo agrego...
 
De hecho, esta usando aforge. Me extraña que con una librería tan avanzada como esa no sea capaz de solucionarlo
 
@Pikoh yo usaba synfony y laravel para paginas web estaticas...
@Pikoh que alguien haya leído he intente usar algo avanzado no quiere decir que sepa usarlo y sacarle provecho XD
 
2:25 PM
@Pikoh capaz lo esta usando mal?
 
@gbianchi tambien puede ser... pero que podemos hacer, adivinar el código que usa erroneamente?
 
@FranciscoNúñez pedirle el codigo?
y no tiene votos de cierre.. y yo por lo menos no la voy a cerrar.. asi que dude que se cierre rapidamente... ;)
 
@Benito-B Y jornada intensiva en verano ¿ no ?
 
Nu...
Solo la primera semana y la última
 
No veo el por que haya que cerrarla... es decir, es reciente la pregunta. No hay condiciones que limiten los cerrados de preguntas ?
 
2:28 PM
Eso tengo entendido
 
:-O
 
43h semanales porque a parte de los 22 días de vacaciones tengo un par de semanas de vacaciones extra
Pero son fijadas por la empresa
 
Aquí nos daban la Semana Santa y la semana de Navidad
 
@Benito-B bienvenido a mi equipo de vacaciones XD, estoy en la misma, tengo 51 dias de vacaciones acumuladas...
 
xDDDDDDD
Cuando tengas 90 cógete un trimestre hombre
BUeno tecnicamente ya podrías casi, si solo cuentas laborales
Madre mía
 
2:31 PM
en panamá las vacaciones no se cuentan laborales XD
 
Eso es una putada xD
Yo tengo 22 días laborales
Ya veremos si luego lo respetan... pero bueno
 
@Benito-B ¿ Pero te han dicho ya que si, o tienes que esperar respuesta ?
Al final no nos has contado como ha ido
 
El miércoles voy a recoger el certificado del título al instituto
Y luego enviar un email a la de recursos humanos y en teoría prepararán todo para firmar el contrato
2 años, contrato de prácticas
Revisión cada 6 meses el primer año, anuales a partir de ahí
 
¿ Practicas ? Que mal suena eso O_o
 
Que va, es que los contratos de práctica son bonificados
Basicamente no pagan una mierda a la SS por tí
Y se puede cancelar sin penalización
 
2:34 PM
Ah, vale. Que cobran ellos por ti mas que tu de ellos xD
 
Basicamente jajajajaja
16k anuales...
 
ok
 
No me quejo tho, mi hermano empezó con 14k hace unos años...
 
No se como a como esta el kg de junior por esos lares
 
Pero de ayudante de camarero cobraba 16.5k
 
2:34 PM
@Benito-B en que pais es eso???
 
Españita
 
Sentado en la mesa se está mejor que poniendo cervezas :-)
 
@Trauma Desde luego, no me quejo en realidad xD
Solo que en el resto de europa, los programadores están bastante mejor valorados que en españa
 
Hombre, pues claro. Faltaria mas
Tu mayor suerte seria currar para una empresa extrangera
con sueldos de allí, como el @PabloLozano
 
Joder, ya te digo
 
2:37 PM
o el @lois6b creo que también
 
Y por encima por lo que dijo, trabajar ahí tiene que ser una pasada
 
puffff ... trabajan con Java ...
tampoco puede ser gran cosa
 
Se te olvida que a mi me gusta Java
xD
 
@Trauma que aburrido me diria mi hijo de 7 años...
 
... puffff ... insensato ...
@FranciscoNúñez yo pienso cosas peores aun xD
 
2:38 PM
XD
 
@FranciscoNúñez Si menciona la palabra aburrido es muy probable que también lo diga Trauma tengo entendido
 
@Benito-B es que vamos a abrir un club ...
 
Tanto hate por Java... es envidia
 
@Trauma que pasa?
 
@Benito-B si claro como envidio la perdida de rendimiento XD
 
2:41 PM
Ligera pérdida de rendimiento*
 
quisiera hacer una prueba de una aplicacion en pyton vs lo mismo en java y ver quien rinde mejor ... en diferentes S.O XD
 
@lois6b ¿ Tu no estabas en una empresa extrangera cobrando un pastón también ?
 
@Trauma ah de sueldo? estoy pendiente de una subida. lead del equipo técnico del departamento. 32k
 
Probablemente depende qué hagas en esa aplicación
 
@Trauma es española. pero nos compró una mas grande
 
2:42 PM
@lois6b Joder, el doble que yo xD
Qué poco, no me triplica
 
@lois6b del equipo tecnico o de desarrollo ....
 
@lois6b ¿ Te ascienden a lead ?
:-O
 
@Benito-B aun no. en breves
 
Felicidades por el ascenso tho!
 
@Trauma es que la primera semana de enero se fue el lead a otra empresa, asi que ...
 
2:42 PM
yo estoy migrando de panama a canada... XD
 
falta cerrarlo pero ya habló mi jefe conmigo
 
si dios quiere y todo sale bien ... comienzo en 15 minutos XD
 
Nada, yo me moriré de currito raso :'-(
 
en canada y nueva zelanda hay mucho trabajo XD
 
@Trauma decian de ocuparme de clientes pero no, yo quiero ocuparme de lo tecnico. aunque tenga personas a cargo
@FranciscoNúñez both
 
2:43 PM
@FranciscoNúñez Canadá es mi destino preferido del mundo para mudarme un día... cuando deje de ser junior
 
@lois6b que bien su buscas algun freelance avisa XD
 
@FranciscoNúñez no hahah
 
@Benito-B en realidad siendo junior es el momento en que lo deberias de hacer... XD
 
@FranciscoNúñez Tal vez, pero con lo que tengo en el banco no pago ni el billete para el perro...
 
@Trauma te acuerdas cuando despotricaba de lotus notes? y aqui estamos :D
como cambia todo
 
2:45 PM
@Benito-B lo mio va a ser remoto XD, me encanta mi panama Tropical ... lluvia, sol y mosquitos XD
 
@lois6b jejeje ... cierto :-)
 
yo les recomendaria que busquen en upwork XD
hay fue donde consegui varios trabajos XD
 
Voy a tener que empezar otra ronda de cambio de empresa ... me estais dando envídia ...
 
en canada el salario minimo es 20.00 USD la hora XD
 
hahah
 
2:47 PM
y si eres freelance/estudiante o con trabajo permaneten puedes comenzar metiendo 12 horas .... 1000.00 Usd al Mes...
 
@gbianchi no creo. El problema es que esas librerias tienen miles de opciones..habría que ver que usa y como. De todas maneras, yo nunca hice algo asi, solo he leido sobre el tema
 
@Pikoh mejor pedirle el codigo entonces ;)
 
@gbianchi correcto
 
jejejeje ya me contrataron los canadiences XD por fin algo para pagar deudas ...
 
@FranciscoNúñez congrats!!!!!!
 
2:53 PM
19 hours ago, by gbianchi
@abulafia somos de la generacion que no tenia internet y no tenia otra forma que leer el manual para entender como funcionaban las cosas...
que raro que digas una gran verdad asi
 
@Pikoh incluso hoy en dia teniendo internet con videos prefiero ir a la pagina del fabricante a buscar los Manuales XD
 
@Pikoh jajaja por?
 
@FranciscoNúñez bueno, no se debe despreciar la gran cantidad de información que hay ahora. Pero en nuestros tiempos, sólo contabas (con suerte) con la documentación oficial, o (con mas suerte aún) con algun libro que hablase sobre el tema
@gbianchi como sueles estar siempre equivocado, me ha sorprendido XDD
 
@Pikoh es para demostrar que siempre estas equivocado vos....
 
@gbianchi jajaja
 
2:57 PM
creo que leer es un buen habito... incluso mi hijo de 7 años que esta aprendiendo a programar y leer al mismo tiempo dice que prefiere escribir el codigo y buscar que ver videos... XD toy criando un monstrito XD
una consulta; que laptop (Marca/modelo) prefieren para programar... especificaciones tecnicas tambien se vale...
 
@FranciscoNúñez Yo tengo un thinkpad que es una pasada, pero lo pone la empresa
 
@FranciscoNúñez ninguno. siempre desktop
 
@PabloLozano modelo?
 
al final lo importante para mi es que sea potente y sobre todo robusto
T490
 
@Pikoh pues yo preferia desktop hasta que comence a levantar procesos en la empresa donde trabajaba ...
@PabloLozano me encanta el teclado de las lenovo XD ...
 
3:00 PM
@FranciscoNúñez Sinceramente, está por estrenar
 
@PabloLozano ya le hiciste el unboxing???
 
yo soy incapaz de usar un laptop para trabajar. A no se que tenga teclado, raton y pantalla normales
 
@Pikoh siempre.. aunque ahora estoy con una laptop :(
 
@PabloLozano asi si. Asi da igual que tipo de pc sea
 
3:01 PM
@FranciscoNúñez Me refiero que no he tecleado nada xD
 
Quien era el del mega Enter?
 
@Pikoh claro yo uso una hp pavilion gaming 15 de 15.6 pulgadas y tube que comprarme un raton logitex mx-100 a huevos por que no me acostumbro al mause pad...
 
@NicolasOñate Trauma
 
El supera a todos en su setUp
 
este tiene 24GB de RAM, 500GB de Disco SSD, con un i7 de 8ª gen
 
3:02 PM
@Trauma Sigues teniendolo y usandolo?
 
0
Q: ¿Es posible añadir casos a un swich de forma dinámica (en tiempo de ejecución)? C#

Iván RodríguezMe pregunto si es posible añadir casos a un switch de en tiempo de ejecución. Es decir, empezar con un switch vacio como el siguiente: switch (opcion) { default: break; } Y luego añadir casos si es necesario switch (opcion) { case ...

 
@Pikoh todo eso viene de otra pregunta que hizo mas temprano...
igual a mi esas soluciones magicas no me gustan...
 
@Pikoh un auto constructor del switch? interesante..
 
@gbianchi por eso he preguntado para que lo usaría. Nunca he necesitado algo asi
 
cuando haces que tu codigo haga eso... entonces algo esta mal en tu idea...
 
3:05 PM
@gbianchi exactamente eso pienso yo
 
podrías usar un diccionario..pero es que no le veo la utilidad
 
Yo veo util si tienes los casos guardados
 
que quienes tengan menos de 10k no van a ver
@NicolasOñate no. no tiene sentido.. si tu codigo esta haciendo un switch, en algun otro lado deberias modificar algo para que tu codigo reaccione...
 
@NicolasOñate Si lo tengo, pero ahora mismo no lo estoy usando
 
3:06 PM
cuando alguien me habla de codigo que muta, entonces es algo que esta muy raro.. porque todo lo que agregues en un programa impacta en otro lado del programa...
 
Esto no es el Radar ... aquí hay poca frustración
 
@gbianchi eso es. detectar el caso es solo una parte. Debes tener además un código que reaccione a ese caso
 
@Pikoh y es muy probable que necesites una pantalla que reaccione a eso.. y eso no lo vas a poder hacer dinamico...
o va a ser tan complejo, que en 2 meses vas a pedir por favor volver a lo anterior...
 
Yo sigo sin verle caso de uso
 
@Pikoh yo tampoco.. olvidate...
 
3:08 PM
@FranciscoNúñez Si la haces da resultados!
 
y por eso probablemente el lenguaje no lo contempla
 
pero viste la pregunta eliminada?
 
@gbianchi si si
 
de ahi viene... pero tampoco lo entiendo...
 
@gbianchi a ver..es que lo que entiendo yo que busca es una interfaz. Punto
 
3:09 PM
@Trauma por?
 
@FranciscoNúñez Qué tal con los tramites?
 
te miraban raro?
 
@Pikoh es mas... busca que su clase tenga informacion ya.. y el agregar a ese codigo, mas codigo...
 
4 mins ago, by Trauma
Esto no es el Radar ... aquí hay poca frustración
 
@gbianchi normalmente, cuando buscas una cosa rara...es que tu planteamiento no es correcto
 
3:11 PM
@Pikoh en el 99.99% de los casos...
salvo reflection en contados casos.. no deberias tratar de modificar el comportamiento del lenguaje con cosas raras...
 
@PabloLozano el codigo que has puesto no es java?
ah perdon..dices que es pseudocodigo
 
@gbianchi en php y algunos IDE las soluciones magicas dan problemas de trasabilidad en el IDe de desarrollo creo que solo sublimetext soporta el go to definition de metodos magicos no se otros lenguajes; a mi por contrario si me gustan los metodos magicos siempre y cuando esten bien documentados...
@RubialesAlberto cuales tramites bro?
 
@Trauma xd o no quieres dar el cante demasiado
 
En Java sería más lioso: o usas Lambdas o tienes que declarar una clase con el método a ejecutar, no hay funciones "sueltas", sólo existem métodos (estáticos o no)
No recuerdo si C# tiene "funciones" sueltas, pero en JS esto sería sencillímo, con un simple objeto
 
@PabloLozano tu solución es la que dije yo mas arriba. Usar diccionarios (map) y Action (function)
 
3:14 PM
@Pikoh lo que veo es que trata de simplificar el codigo en tiempo real ... es algo dinamico pero tiene que tener un control de si no existe el caso para lo que envia....
 
@PabloLozano mira:
11
A: Dynamic switch cases

Ben VoigtThe dynamic equivalent of a switch-case is a dictionary lookup. For example: Dictionary<string, Action> userActions = { { "create", () => Console.WriteLine("created") }, { "show", () => Console.WriteLine("showed") } }; Dictionary<string, Action> adminActions = { { "creat...

eso es la traduccion de tu respuesta a c#
 
Pues si te apetecer responderla... mi respuesta es más genérica y es sólo para aportar la idea/concepto de la solución
no sé C#
 
@NicolasOñate Estoy mi casa, mauro ;-p
 
@PabloLozano no, no voy a responder. Al menos, hasta que entienda para que quiere el op algo tan raro y en mi opinión poco util :)
 
La verdad es que es algo interesante un switch dinámico ... no le veo utilidad, pero interesante ...
Tal vez en varias capas ...
 
3:19 PM
Si, es interesante a nivel teorico
 
... pues si ...
Pero vamos, que yo usaría un map< > y punteros a funciones, como decís vosotros
 
@Pikoh es util por ejemplo cuando quieres controlar permisos por botoneria... y quieres ponerle una verificacion del permiso ... pero no quieres copiar codigo ni repetirlo... se recicla la logica pero se llaman a funciones diferentes dependiendo ... ese seria un ejemplo del uso ...
 
Yo no usaría nada de eso creo, o nunca lo he necesitado. Pero tendría que ver la situacion exacta
 
¿ le valdria una especie de decorator ?
Yo lo he usado en sistemas de eventos
en el dispatcher, digamos
cada evento un ID único, y punteros a funciones en un diccionario
que relacionan cada ID con la función a ejecutar
 
@Trauma ah, por algo no he visto nada de leche condensada hoy XD
 
3:22 PM
@NicolasOñate no no no ... es que me he quedado sin capsulas de café :-(
 
@FranciscoNúñez para eso no te hace falta un switch, hay muchas posibles soluciones. Una tan sencilla como un diccionario que mapee cada boton a true o false dependiendo del rol
 
ya indico por que quiere el switch dinamico
 
@Trauma uh eso duele mas y no puedes hacer una huida rapida al super o enviar a otro ente?
 
vale, lo imaginaba. Viene de C++
 
@Pikoh eso se puede hacer en php ??? en mi caso seria php; pero recuerden no todos saben lo que ustedes tal vez ya sepan... a lo mejor lo esta haciendo de esa forma por desconocmiento de los diccionarios XD
 
3:23 PM
@NicolasOñate Hoy ya no ... la Administradora única no va hoy al super :-(
 
@FranciscoNúñez desconozco php, pero estoy seguro de que si
 
@Trauma siempre puedes ir tu ;)
 
Si le dejan
 
@NicolasOñate Intentaré ir cuando termine, a las 18:00
 
Yo dije de ir a la compra esta mañana, y mi pareja dijo "No hace falta, ya vas mañana"
 
3:25 PM
creo que en php seria crear un objeto; guardar los métodos y establecer el índice para cada uno igual al caso; y realizar una llamada mágica dependiendo del indice pasado XD
 
Así que mañana iré a la compra :)
 
@Pikoh Otro concepto que usé una vez fue una clase que recorria sus atributos internos y ejecutaba ciertas cosas según el tipo del atributo ... el resultado era algo parecido, pero a mayor nivel
 
@Trauma usando reflection te refieres?
no se si existe al concepto reflection en c++
 
@Pikoh Ojalá, C++ no tiene de eso ... pero si, era algo parecido
 
@Trauma hay una cosa que no comprendo, como puedes terminar a las 18 si empiezas a las 7
 
3:27 PM
no se, a mi se me eriza un poco el pelo con esas cosas. Me parece que vas a ahorrar en lineas de codigo a costa de aumentar la complejidad mucho
 
@NicolasOñate Ahora no empiezo a las 07:00, empiezo a las 09:00 (en teoríá)
Pero a las 07:00 tomo café igual
me doy mi paseito mañanero
y cuando llego a casa, pues arranco. A las 08:20 o así
total, están todos acostados
@Pikoh Eso son cosas muy muy puntuales para casos muy muy concretos
no es una formula que se pueda usar de manera general
 
@Trauma por eso digo. Yo he usado reflection alguna vez, pero en casos muy contados. Si hay otra solucion mas sencilla, prefiero tirar por ahi
 
los punteros a funciones y el diccionarios, era para poder ampliar los mensajes sin tener que reescribir demasiado código
 
@Trauma si, entiendo
 
Para casos genéricos ... no termino de verlo yo eso
 
3:30 PM
joe @PabloLozano, vaya exitazo tu respuesta ;)
 
ni le veo utilidad
 
@Trauma solo le veo sentido si los mensajes están en un recurso externo como un archivo con múltiples idiomas y mensajes tipo csv/json para manejar el idioma de la aplicación ...
 
eramos varios grupos, con un conjunto de mensajes ... indeterminado, por decirlo de alg'un modo
y la instrospección, fue un parser de JSON en el que los campos tenian que cumplir requisitos
que no estaban definidos con claridad
 
un switch dinamico que accede la funcion para determinados idiomas y mensajes... optimizacion del codigo para acceder a diferentes datos...
 
@FranciscoNúñez esa es la forma de gestionarlo, en archivos de recursos
 
3:32 PM
@Pikoh Totalmente inesperado, pensaba que me iban a decir "eso no es C#" y votar negativo
 
@Pikoh esa lógica la pienso implementar en un proyecto php que tengo en desarrollo...
 
@FranciscoNúñez no es necesario. Tienes un archivo de recursos por cada idioma, y seleccionas los mensajes de adecuado en funcion del idioma seleccionado
 
@Trauma En mi casa empieza la actividad en el momento que yo salgo de mi cuarto, mi perro sale conmigo y se encarga de ir levantando al resto
 
@NicolasOñate jejeje ... que va, en la mia cada uno a su bola
yo el primero, intento hacer poco ruido
 
@Pikoh eso es funcional cuando el diccionario de idioma es uno para toda la aplicacion, pero imaginate que estas trabajando con procesos industriales que por algiun motivo pueden cambiar continuamente... y requieres que el sistema tenga la capacida de gestionar pro pantalla un diccionario para 5 idiomas distintos... no vas a crear 5^N Diccionarios... no seria optimo....
 
3:35 PM
Vamos, la ropa la dejo preparada la noche antes en el salón, para no despertar a nadie
 
@FranciscoNúñez no. He dicho uno por idioma
 
@Pikoh no se si el op piense igual pero en mi caso cada pantalla (formulario) tiene un diccionario especifico... cuando carga el formulario carga el diccionario de idioma y dependiendo del idioma se rellena el formulario...
y todos estan actualizados ya que no puede haber por ejemplo un mensaje para español que no exista en ingles o vice versa....
 
@FranciscoNúñez Eso es lo mismo que tener un solo diccionario por idioma ... solo que dividido en trozos, ¿ no ?
 
y seguramente tendrás muchas cadenas repetidas
 
3:38 PM
eso me parece a mi...
 
@Trauma La clave es poner la musica mas dura que conozcas mientras te tomas el cafe, cuanto mas alto mejor
 
@Trauma Y hay quienes opinan que el 'if' no debe ser usaddo.
 
del enlace que he puesto: PHP internationalization (contemporary): Use of resource files
 
@NicolasOñate no no no ... el sofá está bien para una noche ... pero mas tiempo y me duele la espalda :-)
 
The current prevailing practice is for applications to place text in resource strings which are loaded during program execution as needed. The resource file format most commonly used in PHP projects is Gettext, and it will be visited in detail in the next article. Click here for our earlier article series on localization resource files.
 
3:39 PM
@Trauma XD
 
@CandidMoe ¿ Tu que usarias como switch dinámico ?
0
Q: ¿Es posible añadir casos a un swich de forma dinámica (en tiempo de ejecución)? C#

Iván RodríguezMe pregunto si es posible añadir casos a un switch de en tiempo de ejecución. Es decir, empezar con un switch vacio como el siguiente: switch (opcion) { default: break; } Y luego añadir casos si es necesario switch (opcion) { case ...

 
Yo un diccionario (que es el "Map" de python)
es que de hecho python no tiene switch, ni estático
 
Al final vamos a usar todo lo mismo :-)
 
es que tampoco hay mucho donde elegir. El tema es tener algún tipo de colección de "valores" que sirvan para elegir qué rama del switch ejecutar, y código asociado a cada una. O lo haces con una lista o con un diccionario. Y ya que diccionario te encuentra el caso en O(1) no hay mucho qué pensar
y luego el código de cada rama sería una lambda, o un puntero a función
 
@Pikoh de ese link mi preferido es el alamcenamiento en json/csv
Some of these mechanisms can roughly be divided in these groups:

localizing strings directly in the code
storing the strings in a relational database
storing the strings in string arrays
storing the strings in JSON
use of language resource files
 
3:44 PM
@abulafia Si, tienes razón ... tampoco es que haya muchas opciones
 
principalmente por que el equipo de traduccion no maneja codigo php o base de datos y no cuento con herramientas profesionales de traduccion...
 
Apuntame al origen de este hilo.
 
entonces se me hace mas facil pasarle el json/csv y que lo habran con excel y vayan traduciendo linea a linea
 
Oh, ahi está
 
@FranciscoNúñez Échale un ojo a gettext ... y tiene herramienta para Windows, creo recordar
para facilitar la edición de los archivos con las traducciones
y casi seguro que tiene modo PHP
 
3:46 PM
otra opción que se me ocurre es una lista de tuplas que sean parejas de lambdas. La lista se recorre en orden y se evalúa la primera lambda. Si da True, entonces se ejecuta la segunda lambda y se deja de mirar
 
esto tiene complejidad O(N) pero puede ser más flexible para captar casos como "x comprendido entre 1 y 100" o "x impar"
 
@abulafia A mi solo se me ocurre lo de un mapa y hacerlo por capas
algo como un decorator
pero es mas limitado, creo
 
ese es un ejemplo del diccionario solo para la pantalla de loging... dependiendo del idioma asignado por el administrador del sistema...
en pocas palabra para que cargar un diccionario de N cantidades de megas de todo el sistema si solo va a entrar al login para darce cuenta que no tiene aun el usuario y contraseña XD
 
En Java se usa mucho la reflexión, pero no lo ves en general: spring la usa para buscar sus anotaciones por toda la aplicación
 
3:48 PM
@Trauma Hummm, no sé C#, pero supongo que lo importante es el espíritu del problema. ¿Alternativas válidas para resolverlo ... C, Python, pseudo-codigo?
 
@CandidMoe pues la respuesta ha sido ... ¿ lenguaje agnóstica ?
 
@Trauma Voy a comprobar algo en Python ... vuelvo en un rato
 
jejeje ... ¿ ya te has picado ?
 
@Trauma Python admitiría una sintaxis muy elegante con decoradores. Por ejemplo podrías poner delante de cada función que sea un "caso" del swich un decorador del estilo @case("A") y luego una función switch(variable) que ejecute la función decorada que corresponda, según el valor de variable
 
Para mi, mas alla de lo teoricamente interesante, estan sobreexigiendo al sistema...
@abulafia Pero, siempre vas a necesitar hacer algo con eso, que implicaria tocar algo mas en tu sistema...
 
3:56 PM
@abulafia Ok, algo parecido a lo que dije antes de usar un decorator
 
salvo que todo tu sistema sea totalmente dinamico, y por lo tanto un monstruo horrible... sobre todo con los mil casos que no vas a haber cubierto...
 
@gbianchi Naturalmente habría un @case(None) para decorar la acción por defecto :-)
 
En C++, se podrian encadenar punteros a funciones ... si es mi responsabilidad, lo hago; si no, se lo paso al siguiente de la cadena ...
 
> salvo que todo tu sistema sea totalmente dinamico, y por lo tanto un monstruo horrible...
Python :-)
 
@abulafia C# tiene muchisimos años.. si esto fuera realmente necesario, ya habria una libreria que lo hiciera... y por algo, no la hay....
 
3:58 PM
@gbianchi eres evangelista de haskell... creo que odias todo aquello que sea dinámico o que su comportamiento dependa de los resultado de la ejecución XD
 
@FranciscoNúñez no. para nada...
pero antes de dar una solucion dinamica, me gusta entender si es realmente necesario...
y por experiencia, se que las maquinas para construir codigo sin saber el codigo que quiero construir antes, no sirven....
son mas las excepciones que las reglas...
 
A ver, que yo no defiendo que sea necesario. Sólo me han preguntado cómo haría algo así. Ya sabes, eso de "Tan ansioso por demostrar que era posible que no se paró a pensar si era adecuado"
 

« first day (1907 days earlier)      last day (1194 days later) »