Skip to content

Commit 93ffd63

Browse files
committed
Traducido archivo howto/functional (56 de 206 - 27%)
1 parent 096b276 commit 93ffd63

File tree

1 file changed

+98
-11
lines changed

1 file changed

+98
-11
lines changed

howto/functional.po

+98-11
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgstr ""
1111
"Project-Id-Version: Python 3.8\n"
1212
"Report-Msgid-Bugs-To: \n"
1313
"POT-Creation-Date: 2020-05-05 12:54+0200\n"
14-
"PO-Revision-Date: 2021-02-01 19:27-0300\n"
14+
"PO-Revision-Date: 2021-02-02 15:00-0300\n"
1515
"Language-Team: python-doc-es\n"
1616
"MIME-Version: 1.0\n"
1717
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,7 +190,7 @@ msgid ""
190190
"execution for a second."
191191
msgstr ""
192192
"Algunos lenguajes son muy estrictos sobre la pureza y ni siquiera tienen "
193-
"declaraciones de asignación como ``a=3`` o ``c = a + b``, pero es difícil "
193+
"sentencias de asignación como ``a=3`` o ``c = a + b``, pero es difícil "
194194
"evitar todos los efectos secundarios. Imprimir en la pantalla o escribir en "
195195
"un archivo en disco son efectos secundarios, por ejemplo. Por ejemplo, en "
196196
"Python una llamada a la función :func:`print` o :func:`time.sleep` retorna "
@@ -241,7 +241,7 @@ msgid ""
241241
"advantages to the functional style:"
242242
msgstr ""
243243
"El diseño funcional puede parecer una restricción extraña bajo la cuál "
244-
"trabajar. Por qué evitaría objetos y efectos secundarios? Hay ventajas "
244+
"trabajar. ¿Por qué evitaría objetos y efectos secundarios? Hay ventajas "
245245
"teóricas y prácticas para el estilo funcional:"
246246

247247
#: ../Doc/howto/functional.rst:93
@@ -258,7 +258,7 @@ msgstr "Componibilidad."
258258

259259
#: ../Doc/howto/functional.rst:96
260260
msgid "Ease of debugging and testing."
261-
msgstr "Fácil de depurar y probar."
261+
msgstr "Facilidad de depurar y probar."
262262

263263
#: ../Doc/howto/functional.rst:100
264264
msgid "Formal provability"
@@ -344,7 +344,7 @@ msgstr ""
344344

345345
#: ../Doc/howto/functional.rst:136
346346
msgid "Modularity"
347-
msgstr ""
347+
msgstr "Modularidad"
348348

349349
#: ../Doc/howto/functional.rst:138
350350
msgid ""
@@ -354,14 +354,20 @@ msgid ""
354354
"thing than a large function that performs a complicated transformation. "
355355
"Small functions are also easier to read and to check for errors."
356356
msgstr ""
357+
"Un beneficio más práctico de la programación funcional es que fuerza a "
358+
"romper su problema en pequeñas piezas. Como resultado los programas son más "
359+
"modulares. Es más fácil especificar y escribir una función pequeña que hace "
360+
"una cosa que una función grande que realiza una transformación complicada. "
361+
"Las funciones pequeñas también son más fáciles de leer y comprobar si hay "
362+
"errores."
357363

358364
#: ../Doc/howto/functional.rst:146
359365
msgid "Ease of debugging and testing"
360-
msgstr ""
366+
msgstr "Facilidad de depurar y probar"
361367

362368
#: ../Doc/howto/functional.rst:148
363369
msgid "Testing and debugging a functional-style program is easier."
364-
msgstr ""
370+
msgstr "Probar y depurar un programa en estilo funcional es más fácil."
365371

366372
#: ../Doc/howto/functional.rst:150
367373
msgid ""
@@ -371,6 +377,11 @@ msgid ""
371377
"intermediate inputs and outputs to quickly isolate the function that's "
372378
"responsible for a bug."
373379
msgstr ""
380+
"La depuración se simplifica porque las funciones generalmente son pequeñas y "
381+
"claramente especificadas. Cuando un programa no funciona, cada función es un "
382+
"punto de interfaz donde puede comprobar si los datos son correctos. Puede "
383+
"ver las entradas y salidas intermedias para aislar rápidamente la función "
384+
"que es responsable de un error."
374385

375386
#: ../Doc/howto/functional.rst:155
376387
msgid ""
@@ -379,10 +390,15 @@ msgid ""
379390
"before running a test; instead you only have to synthesize the right input "
380391
"and then check that the output matches expectations."
381392
msgstr ""
393+
"Las pruebas son más fáciles porque cada función es un sujeto potencial para "
394+
"una prueba unitaria. Las funciones no dependen de un estado del sistema que "
395+
"necesite ser replicado antes de correr una prueba; en lugar de eso solo "
396+
"tiene que sintetizar la entrada correcta y comprobar que la salida coincida "
397+
"con las expectativas."
382398

383399
#: ../Doc/howto/functional.rst:162
384400
msgid "Composability"
385-
msgstr ""
401+
msgstr "Componibilidad"
386402

387403
#: ../Doc/howto/functional.rst:164
388404
msgid ""
@@ -394,23 +410,36 @@ msgid ""
394410
"that takes a filename and returns its contents, can be applied to many "
395411
"different situations."
396412
msgstr ""
413+
"Mientras trabaja en un programa en estilo funcional, escribirá un número de "
414+
"funciones con diferentes entradas y salidas. Algunas de estas funciones "
415+
"inevitablemente estarán especializadas en una aplicación en particular, pero "
416+
"otras serán útiles en una amplia variedad de programas. Por ejemplo, una "
417+
"función que recibe la ruta de un directorio y retorna todos los archivos XML "
418+
"en el directorio, o una función que recibe el nombre de un archivo y retorna "
419+
"su contenido, se puede aplicar a muchas situaciones diferentes."
397420

398421
#: ../Doc/howto/functional.rst:171
399422
msgid ""
400423
"Over time you'll form a personal library of utilities. Often you'll "
401424
"assemble new programs by arranging existing functions in a new configuration "
402425
"and writing a few functions specialized for the current task."
403426
msgstr ""
427+
"Con el tiempo formará una librería personal de utilidades. A menudo "
428+
"ensamblará nuevos programas organizando funciones existentes en una nueva "
429+
"configuración y escribiendo unas pocas funciones especializadas para la "
430+
"tarea actual."
404431

405432
#: ../Doc/howto/functional.rst:179
406433
msgid "Iterators"
407-
msgstr ""
434+
msgstr "Iteradores"
408435

409436
#: ../Doc/howto/functional.rst:181
410437
msgid ""
411438
"I'll start by looking at a Python language feature that's an important "
412439
"foundation for writing functional-style programs: iterators."
413440
msgstr ""
441+
"Comenzaré viendo una característica del lenguaje Python que es una base "
442+
"importante para escribir programas en estilo funcional: iteradores."
414443

415444
#: ../Doc/howto/functional.rst:184
416445
msgid ""
@@ -422,6 +451,14 @@ msgid ""
422451
"exception. Iterators don't have to be finite, though; it's perfectly "
423452
"reasonable to write an iterator that produces an infinite stream of data."
424453
msgstr ""
454+
"Un iterador es un objeto que representa un flujo de datos; este objeto "
455+
"retorna los datos de a un elemento a la vez. Un iterador de Python debe "
456+
"soportar un método llamado :meth:`~iterator.__next__` que no recibe "
457+
"argumentos y siempre retorna el siguiente elemento en el flujo. Si no hay "
458+
"más elementos en el flujo, :meth:`~iterator.__next__` debe lanzar la "
459+
"excepción :exc:`StopIteration`. Los iteradores no tienen que ser finitos; es "
460+
"perfectamente razonable escribir un iterador que produce un flujo de datos "
461+
"infinito."
425462

426463
#: ../Doc/howto/functional.rst:192
427464
msgid ""
@@ -432,10 +469,16 @@ msgid ""
432469
"lists and dictionaries. An object is called :term:`iterable` if you can get "
433470
"an iterator for it."
434471
msgstr ""
472+
"La función integrada :func:`iter` recibe un objeto arbitrario e intenta "
473+
"retornar un iterador que retornará los contenidos o elementos del objeto, "
474+
"lanzando :exc:`TypeError` si el objeto no soporta iteración. Muchos tipos de "
475+
"datos integrados de Python soportan iteración, siendo los más comunes las "
476+
"listas y los diccionarios. Un objeto se llama :term:`iterable` si puede "
477+
"obtener un iterador para él."
435478

436479
#: ../Doc/howto/functional.rst:199
437480
msgid "You can experiment with the iteration interface manually:"
438-
msgstr ""
481+
msgstr "Puede experimentar con la interfaz de iteración manualmente:"
439482

440483
#: ../Doc/howto/functional.rst:217
441484
msgid ""
@@ -444,18 +487,26 @@ msgid ""
444487
"Y``, Y must be an iterator or some object for which :func:`iter` can create "
445488
"an iterator. These two statements are equivalent::"
446489
msgstr ""
490+
"Python espera objetos iterables en muchos contextos diferentes, siendo el "
491+
"más importante la sentencia :keyword:`for`. En la sentencia ``for X in Y``, "
492+
"Y debe ser un iterador o algún objeto para el que :func:`iter` puede crear "
493+
"un iterador. Estas dos sentencias son equivalentes::"
447494

448495
#: ../Doc/howto/functional.rst:229
449496
msgid ""
450497
"Iterators can be materialized as lists or tuples by using the :func:`list` "
451498
"or :func:`tuple` constructor functions:"
452499
msgstr ""
500+
"Los iteradores se pueden materializar como listas o tuplas utilizando las "
501+
"funciones constructoras :func:`list` o :func:`tuple`:"
453502

454503
#: ../Doc/howto/functional.rst:238
455504
msgid ""
456505
"Sequence unpacking also supports iterators: if you know an iterator will "
457506
"return N elements, you can unpack them into an N-tuple:"
458507
msgstr ""
508+
"El desempaquetado de secuencias también soporta iteradores: si sabe que un "
509+
"iterador retornará N elementos, puede desempaquetarlos en una N-tupla:"
459510

460511
#: ../Doc/howto/functional.rst:247
461512
msgid ""
@@ -467,6 +518,14 @@ msgid ""
467518
"func:`min` will never return, and if the element X never appears in the "
468519
"stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either."
469520
msgstr ""
521+
"Las funciones integradas como :func:`max` y :func:`min` pueden recibir un "
522+
"solo iterador como argumento y retornarán el elemento más grande o más "
523+
"pequeño. Los operadores ``\"in\"`` y ``\"not in\"`` también soportan "
524+
"iteradores: ``X in iterator`` es verdadero si X se encuentra en el flujo que "
525+
"retornó el iterador. Se encontrará con problemas obvios si el iterador es "
526+
"infinito; :func:`max`, :func:`min` nunca retornarán, y si el elemento X "
527+
"nunca aparece en el flujo, los operadores ``\"in\"`` and ``\"not in\"`` "
528+
"tampoco retornarán."
470529

471530
#: ../Doc/howto/functional.rst:255
472531
msgid ""
@@ -478,30 +537,46 @@ msgid ""
478537
"need to do something different with the same stream, you'll have to create a "
479538
"new iterator."
480539
msgstr ""
540+
"Note que solo puede ir hacia adelante en un iterador; no hay forma de "
541+
"obtener el elemento anterior, reiniciar el iterador o hacer una copia de él. "
542+
"Los objetos iteradores opcionalmente pueden proveer estas capacidades "
543+
"adicionales, pero el protocolo del iterador solo especifica el método :meth:"
544+
"`~iterator.__next__`. Por lo tanto las funciones pueden consumir toda la "
545+
"salida del iterador, y si necesita hacer algo diferente con el mismo flujo, "
546+
"tendrá que crear un nuevo iterador."
481547

482548
#: ../Doc/howto/functional.rst:265
483549
msgid "Data Types That Support Iterators"
484-
msgstr ""
550+
msgstr "Tipos de datos que soportan iteradores"
485551

486552
#: ../Doc/howto/functional.rst:267
487553
msgid ""
488554
"We've already seen how lists and tuples support iterators. In fact, any "
489555
"Python sequence type, such as strings, will automatically support creation "
490556
"of an iterator."
491557
msgstr ""
558+
"Ya hemos visto cómo las listas y tuplas soportan iteradores. De hecho, "
559+
"cualquier tipo de secuencia de Python, como cadenas de caracteres, "
560+
"automáticamente soportará la creación de un iterador."
492561

493562
#: ../Doc/howto/functional.rst:271
494563
msgid ""
495564
"Calling :func:`iter` on a dictionary returns an iterator that will loop over "
496565
"the dictionary's keys::"
497566
msgstr ""
567+
"Llamar a :func:`iter` en un diccionario retornará un iterador que recorrerá "
568+
"sobre las claves del diccionario::"
498569

499570
#: ../Doc/howto/functional.rst:291
500571
msgid ""
501572
"Note that starting with Python 3.7, dictionary iteration order is guaranteed "
502573
"to be the same as the insertion order. In earlier versions, the behaviour "
503574
"was unspecified and could vary between implementations."
504575
msgstr ""
576+
"Note que a partir de Python 3.7, se garantiza que el orden de iteración del "
577+
"diccionario es el mismo que el orden de inserción. En versiones anteriores, "
578+
"el comportamiento no estaba especificado y podía variar entre "
579+
"implementaciones."
505580

506581
#: ../Doc/howto/functional.rst:295
507582
msgid ""
@@ -510,25 +585,37 @@ msgid ""
510585
"iterate over values or key/value pairs, you can explicitly call the :meth:"
511586
"`~dict.values` or :meth:`~dict.items` methods to get an appropriate iterator."
512587
msgstr ""
588+
"Aplicar :func:`iter` a un diccionario siempre recorre sobre las claves, pero "
589+
"los diccionarios tienen métodos que retornan otros iteradores. Si quiere "
590+
"iterar sobre valores o pares clave/valor, puede explícitamente llamar a los "
591+
"métodos :meth:`~dict.values` o :meth:`~dict.items` para obtener un iterador "
592+
"apropiado."
513593

514594
#: ../Doc/howto/functional.rst:301
515595
msgid ""
516596
"The :func:`dict` constructor can accept an iterator that returns a finite "
517597
"stream of ``(key, value)`` tuples:"
518598
msgstr ""
599+
"El constructor :func:`dict` puede aceptar un iterador que retorna un flujo "
600+
"finito de tuplas ``(key, value)``\\:"
519601

520602
#: ../Doc/howto/functional.rst:308
521603
msgid ""
522604
"Files also support iteration by calling the :meth:`~io.TextIOBase.readline` "
523605
"method until there are no more lines in the file. This means you can read "
524606
"each line of a file like this::"
525607
msgstr ""
608+
"Los archivos también soportan iteración llamando al método :meth:`~io."
609+
"TextIOBase.readline` hasta que no haya más líneas en el archivo. Esto "
610+
"significa que puede leer cada línea de un archivo de esta forma::"
526611

527612
#: ../Doc/howto/functional.rst:316
528613
msgid ""
529614
"Sets can take their contents from an iterable and let you iterate over the "
530615
"set's elements::"
531616
msgstr ""
617+
"Los conjuntos pueden recibir sus contenidos de un iterable y le permiten "
618+
"iterar sobre los elementos del conjunto::"
532619

533620
#: ../Doc/howto/functional.rst:326
534621
msgid "Generator expressions and list comprehensions"

0 commit comments

Comments
 (0)