1 00:00:02,030 --> 00:00:03,770 En este video, lo haré te muestro una muy linda 2 00:00:03,937 --> 00:00:06,700 faceta de Pharo, su inspector 3 00:00:07,170 --> 00:00:10,610 Un inspector es una herramienta que permite interactuar 4 00:00:10,777 --> 00:00:14,190 con objetos y discutir con ellos de una manera viva. 5 00:00:15,250 --> 00:00:17,690 Intentemos en el sistema de archivos. 6 00:00:19,520 --> 00:00:21,450 Por ejemplo, si hago "Sistema de archivos 7 00:00:24,330 --> 00:00:29,130 directorio de trabajo ", lo haré 8 00:00:29,297 --> 00:00:32,190 obtener todos los archivos que son, para instancia, en la raíz de mi imagen, 9 00:00:32,357 --> 00:00:33,870 así que obtendremos todos esos archivos. 10 00:00:35,030 --> 00:00:39,610 Echemos un vistazo. Si lo hago "Inspeccionar", 11 00:00:40,030 --> 00:00:41,240 Abro un inspector 12 00:00:41,870 --> 00:00:43,240 Aquí tengo un inspector. 13 00:00:45,430 --> 00:00:47,690 Este es el nuevo inspector Pharo desarrollado 14 00:00:47,857 --> 00:00:51,730 por el equipo GT, tiene 15 00:00:51,897 --> 00:00:53,140 características muy interesantes 16 00:00:53,307 --> 00:00:56,740 Comencemos a mirar la pestaña 17 00:00:58,330 --> 00:00:59,640 llamado "crudo". 18 00:00:59,807 --> 00:01:03,880 La pestaña "Raw" es la anterior inspector. Que 19 00:01:04,047 --> 00:01:04,850 ¿muestra? 20 00:01:05,017 --> 00:01:08,000 Muestra los datos del objeto, el variables de instancia de objeto 21 00:01:08,167 --> 00:01:09,710 tal como se define en la clase. 22 00:01:10,420 --> 00:01:12,480 Puedo interactuar con eso. 23 00:01:12,647 --> 00:01:15,930 Puedo, por ejemplo, pregunte por todas las entradas. 24 00:01:16,530 --> 00:01:20,940 Aquí obtengo todas las entradas, o dame todo el 25 00:01:21,107 --> 00:01:25,850 directorios, por ejemplo, aquí obtengo todos los directorios. 26 00:01:27,880 --> 00:01:31,380 Si observamos la clase de objeto, si yo hago yo 27 00:01:31,547 --> 00:01:36,240 navegar ", ¿qué veo? 28 00:01:36,407 --> 00:01:40,430 Esta vista me muestra los valores 29 00:01:41,250 --> 00:01:44,450 para el objeto, la instancia variables que 30 00:01:44,617 --> 00:01:46,100 se han definido en la clase de esa manera. 31 00:01:47,520 --> 00:01:49,820 Me permite mirar dentro. 32 00:01:50,000 --> 00:01:54,650 Por ejemplo, aquí puedo ver que el "camino" es en realidad 33 00:01:55,350 --> 00:01:59,530 compuesto por este objeto "self" y puedo verlo 34 00:01:59,697 --> 00:02:03,660 aquí. Todavía estoy en modo bruto, y 35 00:02:03,827 --> 00:02:04,800 Puedo explorar dentro. 36 00:02:05,000 --> 00:02:07,550 Si hago esto, en realidad soy voy a mirar 37 00:02:07,717 --> 00:02:09,780 la secuencia de usuario y ese tipo de cosas. 38 00:02:09,947 --> 00:02:13,280 Aquí básicamente viole el encapsulado 39 00:02:15,210 --> 00:02:18,250 El sistema mirará el comportamiento introspectivo, 40 00:02:18,417 --> 00:02:21,290 me mostrará los campos valores. 41 00:02:23,000 --> 00:02:23,920 Esta vista es muy útil. 42 00:02:24,087 --> 00:02:28,540 Pero ahora el nuevo inspector hace más cosas 43 00:02:28.707 --> 00:02:33,310 Esto significa que cada objeto puede mostrar al usuario 44 00:02:34,150 --> 00:02:38,820 diferentes facetas de cómo es representado. 45 00:02:40,700 --> 00:02:44,880 De forma predeterminada, cada objeto tiene la faceta en bruto. 46 00:02:45,300 --> 00:02:47,900 También está la faceta Meta, cual es 47 00:02:48,067 --> 00:02:49,310 lo que permite navegar por la clase. 48 00:02:49,477 --> 00:02:51,380 Podemos explorar rápidamente la clase, por ejemplo, así. 49 00:02:52,150 --> 00:02:55,330 Normalmente es solo útil cuando estás en la navegación 50 00:02:55,590 --> 00:03:00,440 flujo, cuando necesitas saber directamente sin abrir 51 00:03:00,607 --> 00:03:01,350 otro navegador 52 00:03:01,650 --> 00:03:03,140 Pero los más importantes son esas otras pestañas. 53 00:03:03,307 --> 00:03:08,090 Aquí, por ejemplo, 54 00:03:08,257 --> 00:03:11,640 el inspector sabiendo eso tenemos una referencia, 55 00:03:13,470 --> 00:03:17,730 un directorio, muestra todo contenido en el directorio 56 00:03:17,900 --> 00:03:19,690 Es lo que te mostré allí. cuando hice esto 57 00:03:20,270 --> 00:03:21,960 Aquí, obtenemos lo mismo. 58 00:03:26,190 --> 00:03:31,140 Ahora podemos mirar dentro 59 00:03:31,307 --> 00:03:32,180 este sistema de archivos 60 00:03:32,347 --> 00:03:36,090 Si elijo a Ston, este es un equivalente de Json en Pharo, 61 00:03:36,460 --> 00:03:40,920 una vez más recibo un 62 00:03:41,087 --> 00:03:45,780 referencia dentro del archivo sistema que es 63 00:03:46,280 --> 00:03:51,110 este archivo aquí, Obtengo un acceso en 64 00:03:51,277 --> 00:03:52,500 el archivo llamado 65 00:03:52,667 --> 00:03:57,270 Meta-inf.ston. Y ahora el inspector es 66 00:03:57,437 --> 00:04:00,390 inteligente y me dice "lo haré" mostrarle su contenido si lo desea ". 67 00:04:01,000 --> 00:04:02,940 Miro su contenido y parece que tengo 68 00:04:03,107 --> 00:04:06,020 un contenido, no sé exactamente para qué sirve, pero es un contenido. 69 00:04:07,210 --> 00:04:11,070 De la misma manera, puedo navegar por las subcarpetas. 70 00:04:11,237 --> 00:04:14,950 Aquí, si elijo paquete de efectivo, este es el lugar donde 71 00:04:15,117 --> 00:04:16,180 Los paquetes se almacenan de manera predeterminada. 72 00:04:16,347 --> 00:04:19,160 De hecho, este sigue siendo un objeto del sistema de archivos 73 00:04:19,327 --> 00:04:21,760 pero me muestra su contenido. 74 00:04:22,540 --> 00:04:26,880 Si miro datos, puedo ver 75 00:04:30,210 --> 00:04:33,740 un png Si hago clic en este png, voy a navegar. 76 00:04:34,040 --> 00:04:36,760 Aquí, verá que hay otras pestañas. 77 00:04:38,030 --> 00:04:38,680 78 00:04:39,500 --> 00:04:41,540 Si hago clic en Contenido, 79 00:04:41,707 --> 00:04:44,550 el png almacenado en un binario formato en mi disco 80 00:04:47,300 --> 00:04:50,460 Como es un png, el inspector me muestra una vista previa 81 00:04:50,627 --> 00:04:53,570 de lo que contiene el PNG. 82 00:04:53,737 --> 00:04:55,140 Si miro el script.st, 83 00:04:55,307 --> 00:04:58,510 por ejemplo, tendré diferentes paneles. 84 00:04:58,677 --> 00:05:00,740 Aquí hay dos, no saber exactamente por qué 85 00:05:00,907 --> 00:05:03,150 pero hay uno con resaltado de sintaxis y el otro 86 00:05:03,317 --> 00:05:05,400 uno sin, mostrando el contenido una vez más 87 00:05:06,050 --> 00:05:09,470 Si es un archivo .zip, es aún mejor porque cuando yo 88 00:05:09,637 --> 00:05:14,520 en él, el contenido zip es codificado y 89 00:05:14,687 --> 00:05:19,100 comprimido pero los elementos, en este punto, son 90 00:05:19,267 --> 00:05:22,920 interpretado. Aquí puedo navegar directamente 91 00:05:24,240 --> 00:05:26,080 mis objetos y en el mismo manera recursiva 92 00:05:29,730 --> 00:05:34,300 Eso fue para mostrarle que Inspector Pharo 93 00:05:34,467 --> 00:05:37,400 es realmente una herramienta muy poderosa para interactuar 94 00:05:37,567 --> 00:05:42,160 Precisamente con los objetos, además como cada objeto 95 00:05:42,327 --> 00:05:45,430 determina una representación o un conjunto de 96 00:05:45,597 --> 00:05:48,840 representaciones significativas para nosotros 97 00:05:49,007 --> 00:05:51,270 interactuar con él y ser el más eficiente, 98 00:05:51,550 --> 00:05:53,820 Esto permite construir muy rápido. pequeñas herramientas 99 00:05:54,000 --> 00:05:56,940 Aquí tienes un pequeño sistema de archivos navegador, ¿por qué? 100 00:05:57,107 --> 00:05:59,270 Porque cuando navegas y inspeccionar 101 00:05:59,510 --> 00:06:01,890 el sistema de archivos, a veces usted quieren saber 102 00:06:02,057 --> 00:06:02,840 exactamente lo que está inspeccionando.