14
Chris Rathman / [email protected] "************************************************* *********************** * Caracteres permitidos: * * - * Az * - * AZ * - 0-9 * * - + / \ * ~ <> @% |. &? * * - Pestaña en blanco, cr, ff, lf * ** * Variables: * * - Las variables deben ser declaradas antes de usar * * - Vars compartidas debe comenzar con mayúscula * * - Vars locales deben comenzar con minúscula * * - Nombres reservados: nil, true, false, self, super, and Smalltalk* ** * Ambito de las variables: * * - Global: se define en el Diccionario Smalltalk y accesible a todos * * Objetos de sistema * * - Especial: * (reservado)Smalltalk, super, self, true, false, & nil * - Método temporal: local a un método * * - Bloqueo temporal: local de un bloque * * - Piscina: variables de un objeto * Diccionario * - Parámetros del método: automático vars locales creados como resultado de * * Mensaje de llamada con * params * - Parámetros del bloque: automático vars locales creados como resultado de * Valor: * mensaje de llamada * - Clase: compartida con todas las instancias de una clase y sus subclases * * - Clase Instancia: único para cada instancia de una clase * * - Variables de instancia: únicos para cada instancia * ************************************************** ********************** " "Los comentarios se encierran entre comillas" "Punto (.) Es el separador de declaración" "************************************************* *********************** * Transcripción: * ************************************************** ********************** " Transcripción clara. "Aclarar a la ventana de transcripción" Transcripción espectáculo: 'Hola Mundo'. "Cadena de salida en la ventana de transcripción" NextPutAll Transcripción: 'Hola Mundo'. "Cadena de salida en la ventana de transcripción" NextPut Transcripción: $ A. "La salida de caracteres en la ventana de transcripción" Transcripción del espacio. "Salida carácter de espacio en la ventana de transcripción" Transcripción ficha. "Salida carácter de tabulación en la ventana de transcripción" Transcript cr. "Retorno de carro / salto de línea" 'Hola' printOn: Transcript. "Anexar cadena de impresión en la ventana" 'Hola' storeOn: Transcript. "Append cadena de almacenamiento en la ventana" Transcripción endEntry. "Vaciar el búfer de salida" "************************************************* *********************** * Tarea: * ************************************************** ********************** " | Xy | x _ 4. "Asignación (Squeak) <-" x: = 5. "Asignación" x: = y: = z: = 6. "Compuesto asignación" x: = (y: = 6) + 1. x: = new Object. "Se unen a instancia de una clase asignada" x: = 123 clase. "Descubrir la clase de objeto" x: = entero superclase. "Descubrir la superclase de una clase" x: = allinstances objeto. "Obtener una matriz de todas las instancias de una clase" x: = allSuperclasses enteros. "Obtener todas las superclases de una clase" x: = 1,2 hash. "Valor hash para el objeto" y: = x copia. "Copia el objeto" y: = x shallowCopy. "Copia de objeto (no anulado)" y: = x deepCopy. "Copia del objeto y la instancia vars" y: = x veryDeepCopy. "Copia del árbol completo usando un diccionario" "************************************************* *********************** * Constantes: * ************************************************** ********************** " | B | b: = true. "Constante verdadera"

Me Todos Small Talk

Embed Size (px)

Citation preview

Page 1: Me Todos Small Talk

Chris Rathman / [email protected]

"************************************************* *********************** * Caracteres permitidos: * * - * Az * - * AZ * - 0-9 * * - + / \ * ~ <> @% |. &? * * - Pestaña en blanco, cr, ff, lf * ** * Variables: * * - Las variables deben ser declaradas antes de usar * * - Vars compartidas debe comenzar con mayúscula * * - Vars locales deben comenzar con minúscula * * - Nombres reservados: nil, true, false, self, super, and Smalltalk* ** * Ambito de las variables: * * - Global: se define en el Diccionario Smalltalk y accesible a todos * * Objetos de sistema * * - Especial: * (reservado)Smalltalk, super, self, true, false, & nil * - Método temporal: local a un método * * - Bloqueo temporal: local de un bloque * * - Piscina: variables de un objeto * Diccionario * - Parámetros del método: automático vars locales creados como resultado de * * Mensaje de llamada con * params * - Parámetros del bloque: automático vars locales creados como resultado de * Valor: * mensaje de llamada * - Clase: compartida con todas las instancias de una clase y sus subclases * * - Clase Instancia: único para cada instancia de una clase * * - Variables de instancia: únicos para cada instancia * ************************************************** ********************** ""Los comentarios se encierran entre comillas""Punto (.) Es el separador de declaración"

"************************************************* *********************** * Transcripción: * ************************************************** ********************** "Transcripción clara. "Aclarar a la ventana de transcripción"Transcripción espectáculo: 'Hola Mundo'. "Cadena de salida en la ventana de transcripción"NextPutAll Transcripción: 'Hola Mundo'. "Cadena de salida en la ventana de transcripción"NextPut Transcripción: $ A. "La salida de caracteres en la ventana de transcripción"Transcripción del espacio. "Salida carácter de espacio en la ventana de transcripción"Transcripción ficha. "Salida carácter de tabulación en la ventana de transcripción"Transcript cr. "Retorno de carro / salto de línea"'Hola' printOn: Transcript. "Anexar cadena de impresión en la ventana"'Hola' storeOn: Transcript. "Append cadena de almacenamiento en la ventana"Transcripción endEntry. "Vaciar el búfer de salida"

"************************************************* *********************** * Tarea: * ************************************************** ********************** "| Xy |x _ 4. "Asignación (Squeak) <-"x: = 5. "Asignación"x: = y: = z: = 6. "Compuesto asignación"x: = (y: = 6) + 1.x: = new Object. "Se unen a instancia de una clase asignada"x: = 123 clase. "Descubrir la clase de objeto"x: = entero superclase. "Descubrir la superclase de una clase"x: = allinstances objeto. "Obtener una matriz de todas las instancias de una clase"x: = allSuperclasses enteros. "Obtener todas las superclases de una clase"x: = 1,2 hash. "Valor hash para el objeto"y: = x copia. "Copia el objeto"y: = x shallowCopy. "Copia de objeto (no anulado)"y: = x deepCopy. "Copia del objeto y la instancia vars"y: = x veryDeepCopy. "Copia del árbol completo usando un diccionario"

"************************************************* *********************** * Constantes: * ************************************************** ********************** "| B |b: = true. "Constante verdadera"b: = false. "Falsa constante"x: = nil. "Objeto nulo constante"x: = 1. "Constantes enteras"x: = 3.14. "Constantes float"x: = 2e-2. "Constantes fraccional"x: = 16r0F. "Hex constante".x: = -1. "Constantes negativas"x: = 'Hola'. "Constante de cadena"x: = 'I'' m aquí ". "Escape comilla"x: = $ A. "Carácter permanente"x: = $. "Carácter constante (espacio)"x: = # unSimbolo. "Constantes símbolo"x: = # (3 2 1). "Constantes de matriz"x: = # ('abc' 2 $ a). "Mezcla de tipos permitidos"

Page 2: Me Todos Small Talk

"************************************************* *********************** * Booleanos: * ************************************************** ********************** "| Bxy |x: = 1. y: = 2.b: = (x = y). "Iguales"b: = (x ~ = y). "No es igual"b: = (x == y). "Idéntico"b: = (x ~ y). "No idéntico"b: = (x> y). "Mayor que"b: = (x <y). "Menor que"b: = (x> = y). "Mayor o igual"b: = (x <= y). "Menor o igual"b: = b no. "No booleano"b: = (x <5) y (y> 1). "Booleano y"b: = (x <5) | (y> 1). "Booleano o"b: = (x <5) y: [y> 1]. "Booleano y (cortocircuito)"b: = (x <5) o: [y> 1]. "Booleano o (cortocircuito)"b: = (x <5) eqv: (y> 1). "Prueba si ambas verdaderas o falsas tanto"b: = (x <5) xor: (y> 1). "Probar si una verdadera y otra falsa"b: = 5 entre: 3 y: 12. "Entre (inclusive)"b: = 123 isKindOf: número. "Prueba si el objeto es de clase o subclase de"b: = 123 isMemberOf: SmallInteger. "Prueba si el objeto es un tipo de clase"b: = 123 respondsTo: sqrt. "Prueba si el objeto responde al mensaje"b: = x nombreElegido isNil. "Prueba si el objeto es nulo"b: = x isZero. "Prueba si el número es cero"b: = x positivo. "Probar si el número es positivo"b: = x strictlyPositive. "Probar si el número es mayor que cero"b: = x negativa. "Probar si el número es negativo"b: = x, incluso. "Probar si el número es par"b: x = impar. "Probar si el número es impar"b: = x isLiteral. "Prueba si literal constante"b: = x IsInteger. "Prueba si el objeto es entero"b: = x isFloat. "Prueba si el objeto es float"b: = x ESNUMERO. "Prueba si el objeto es número"b: = $ A isUppercase. "Prueba de si el carácter en mayúsculas"b: = $ A isLowercase. "Probar si el personaje de las letras"

"************************************************* *********************** * Las expresiones aritméticas: * ************************************************** ********************** "| X |x: = 6 + 3. "Adición"x: = 6 - 3. "Sustracción"x: = 6 * 3. "Multiplicación"x: = 1 + 2 * 3. "La evaluación siempre de izquierda a derecha (1 + 2) * 3"x: = 5/3. "División con resultado fraccional"x: = 5,0 / 3,0. "División con resultado float"x: = 5.0 / / 3.0. "Integer divide"x: = 5,0 \ \ 3,0. "Resto entero"x: = -5. "Menos unario"x: = 5 signo. "Signo numérico (1, -1 o 0)"x: = 5 negada. "Negar receptor"x: = 1,2 integerPart. "Parte entera del número (1,0)"x: = 1,2 fractionPart. "Parte fraccionaria del número (0,2)"x: = 5 recíproco. "La función recíproca"x: = 6 * 3.1. "Auto convertir a flote"x: = 5 al cuadrado. "La función square"x: = 25 sqrt. "Raíz cuadrada"x: = 5 raisedTo: 2. "Poder de función"x: = 5 raisedToInteger: 2. "Poder funcionar con entera"x: = 5 exp. "Exponencial"x: = -5 abs. "Valor absoluto"x: = 3,99 redondeado. "Round"x: = 3,99 truncado. "Truncar"x: = 3,99 roundTo: 1. "Redondeo al número especificado decimales"x: = 3,99 truncateTo: 1. "Truncar a determinados lugares decimales"x: = 3,99 suelo. "Truncar"x: = 3,99 techo. "Redondear"x: = 5 factorial. "Factorial"x: = -5 quo: 3. "División entera redondea hacia cero"x: = -5 rem: 3. "Resto entero redondeado hacia cero"x: = 28 mcd: 12. "Máximo común denominador"x: = 28 mcm: 12. "Mínimo común múltiplo"x: = 100 ln. "Logaritmo natural"x: = 100 log. "Logaritmo en base 10"x: log = 100: 10. "Logaritmo con base especificada"x: = 100 floorLog: 10. "Piso de la madera"x: = 180 degreesToRadians. "Convertir grados a radianes"x: = 3.14 radiansToDegrees. "Convertir radianes a grados"x: = 0,7 pecado. "Sine"x: = 0,7 cos. "Coseno"x: = 0,7 bronceado. "Tangente"x: = 0,7 arcSin. "Arcoseno"x: = 0,7 ARccOS. "Arcocoseno"x: = arctan 0,7. "Arcotangente"

Page 3: Me Todos Small Talk

x: = 10 max: 20. "Obtener el máximo de dos números"x: = 10 min: 20. "Get mínimo de dos números"x: = Float pi. "Pi"x: = e Float. "Exp constante"x: = infinito Float. "Infinito"x: = Float nan. "-No un número"x: = Random nuevo siguiente; usted mismo. x siguiente. "Corriente de números aleatorios (0,0 a 1,0)x: = 100 atRandom. "El número aleatorio rápido"

"************************************************* *********************** * La manipulación bit a bit: * ************************************************** ********************** "| Bx |x: = 16rFF bitand: 16r0F. "Y los bits"x: = 16rF0 Bitor: 16r0F. "O bits"x: = 16rFF BITXOR: 16r0F. "Xor bits"x: = 16rFF bitInvert. "Invertir bits"x: = 16r0F BitShift: 4. "Giro a la izquierda"x: = 16rF0 BitShift: -4. "Desplazamiento a la derecha""X: = 16r80 Bitat: 7." "Bit en la posición (0 | 1) [! Squeak]"x: = 16r80 highbit. "La posición de conjunto de bits más alta"b: = 16rFF allMask: 16r0F. "Prueba de si todos los bits en la máscara establecido en receptor"b: = 16rFF anyMask: 16r0F. "Prueba si los bits establecidos en la máscara establecido en receptor"b: = 16rFF noMask: 16r0F. "Prueba de si todos los bits fijados en la máscara clara en receptor"

"************************************************* *********************** * Conversión: * ************************************************** ********************** "| X |x: = 3,99 AsInteger. "Convertir a número entero (trunca en Squeak)"x: = 3,99 asFraction. "Convertir número a la fracción"x: = 3 asFloat. "Convertir número a flote"x: = 65 asCharacter. "Convierte un entero a carácter"x: = $ A asciiValue. "Convertir caracteres a entero"x: = 3,99 printString. "Convertir objeto a cadena a través de printOn:"x: = 3,99 storeString. "Convertir objeto a cadena a través de storeOn:"x: = 15 Base: 16. "Convertir a la cadena en base dada"x: = 15 printStringBase: 16.x: = 15 storeStringBase: 16.

"************************************************* *********************** * Bloques: * * - Bloques son objetos y puede ser asignado a una variable * * - Valor es la última expresión evaluada a menos que * rendimiento explícito * - Bloques pueden anidarse * * - [Argumentos especificaciones | | | localvars expresiones] * * - Squeak no es compatible actualmente con localvars en bloques * * - Máximo de tres argumentos permitidos * * - ^ Expresión termina bloque y método (salidas todos los bloques anidados) * * - Bloques destinados para el almacenamiento a largo plazo no debe contener ^ * ************************************************** ********************** "| Xyz |x: = [y: = 1. z: = 2. ]. x valor. "Uso del bloque de simple"x: = [: argOne:. argTwo | argOne, 'y', argTwo]. "Establecer bloque con paso de argumentos"Mostrar Transcripción: (valor x: 'Primero' valor: 'Segundo'); cr. "El uso de bloques con paso de argumentos""X: = [| z | z:. = 1]. Localvars no disponible en bloques chirrido"

"************************************************* *********************** * Las llamadas a métodos: * * - Métodos unarios son mensajes sin argumentos * * - * Métodos binarios * - Métodos de palabras clave son mensajes con selectores incluyendo dos puntos * ** * Categorías estándar / protocolos: * * - Initialize de liberación lenta (por ejemplo, los métodos de llamada nuevo) * * - Acceso (métodos get / set) * * - Testing (pruebas booleanas - es) * * - La comparación (pruebas booleanas con * parámetro * - Mostrar (gui métodos relacionados) * * - Impresión (métodos de impresión) * * - Actualización (recibir notificación de los cambios) * * - Privada (métodos privados a la clase) * * - Ejemplo de creación (métodos de clase para la creación de instancia) * ************************************************** ********************** "| X |x: = 2 sqrt. "Mensaje unario"x: = 2 raisedTo: 10. "Keyword mensaje"x: = 194 * 9. "Binary mensaje"Mostrar Transcripción: (194 * 9) printString; cr. "Combinación (encadenamiento)"x: = 2 ejecutar: # sqrt. "Invocación del método indirecto"Transcripción de "Cascading - enviar varios mensajes al receptor" mostrar: 'hola'; show: 'mundo'; cr.x: = 3 + 2; * 100. "Resultado = 300. Envía mensaje al mismo receptor (3)"

Page 4: Me Todos Small Talk

"************************************************* *********************** * Sentencias condicionales: * ************************************************** ********************** "| X |x> 10 ifTrue: [show Transcripción: 'ifTrue'; cr]. "Si entonces"x> 10 ifFalse: [show Transcripción: 'ifFalse'; cr]. "If else"x> 10 "si entonces si no" ifTrue: [show Transcripción: 'ifTrue'; cr] ifFalse: [show Transcripción: 'ifFalse'; cr].x> 10 ", si bien luego" ifFalse: [show Transcripción: 'ifFalse'; cr] ifTrue: [show Transcripción: 'ifTrue'; cr].Transcripción show: (X> 10 ifTrue: ['ifTrue'] ifFalse: ['ifFalse']); cr.Transcripción "anidado IF THEN ELSE" show: (X> 10 ifTrue: [x> 5 ifTrue: ['A'] ifFalse: ['B']] ifFalse: ['C']); cr.Cambiar: = Dictionary new. "Cambiar la funcionalidad"cambiar a: $ A put: [show Transcripción: 'Case A'; cr].cambiar a: $ B puso: [show Transcripción: 'Case B'; cr].cambiar a: $ C poner: [show Transcripción: 'Case C'; cr].resultado: = (interruptor en: $ B) de valor.

"************************************************* *********************** * Instrucciones de iteración: * ************************************************** ********************** "| Xy |x: = 4. y: = 1.[X> 0] whileTrue: [x: = x - 1. y: = y * 2]. "Bucle while true"[X> = 4] whileFalse: [x: = x + 1. y: = y * 2]. "While true"x timesRepeat: [y: = y * 2]. "A la hora repear bucle (i: = 1 hasta x)"1 a: x do: [: a | y: = y * 2]. "Por ciclo"1 a: x por: 2 do: [: a | y: = y / 2]. "Bucle for con incremento especificado"# (5 4 3) do: [: a | x: = x + a]. "Iterar sobre los elementos de la matriz"

"************************************************* *********************** Carácter: * ************************************************** ********************** "| Xy |x: = $ A. "El personaje de asignación"y: = x isLowercase. "Prueba si minúscula"y: = x isUppercase. "Prueba si mayúsculas"y: = x IsLetter. "Prueba de si la carta"y: = x IsDigit. "Probar si el dígito"y: = x isAlphaNumeric. "Prueba si alfanumérico"y: = x isSeparator. "Prueba si seperator char"y: = x isVowel. "Prueba de si la vocal"y: = x digitValue. "Convertir en valor del dígito numérico"y: = x asLowercase. "Convertir a minúsculas"y: = x asUppercase. "Convertir a mayúsculas"y: = x asciiValue. "Convertir a valor ASCII numérico"y: = x AsString. "Convertir a la cadena"b: = $ A <= $ B. "Comparación"y: = $ A max: $ B.

"************************************************* *********************** * Símbolo: * ************************************************** ********************** "| Bxy |x: = # Hola. "Símbolo de la asignación"y: = 'Cadena', 'concatenación'. "Símbolo de concatenación (el resultado es cadena)"b: x = IsEmpty. "Test símbolo si está vacío"y: = x tamaño. "Cadena de longitud"y: = x en: 2. "Char en el lugar"y: = x copyFrom: 2 a: 4. "Subcadena"y: = x indexOf: $ ifAbsent e: [0]. "Primera posición de carácter en cadena"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la cadena"b: = x conforme: [: a | (a> = $ a) y (a <= $ z)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> $ a]. "Devolver todos los elementos que cumplen con condiciones"y: = x AsString. "Convertir a símbolo de cadena"y: = x AsText. "Convertir a símbolo de texto"y: = x asArray. "Convertir a símbolo de matriz"y: = x asOrderedCollection. "Convertir a símbolo colección ordenada"y: = x asSortedCollection. "Convertir a símbolo colección ordenada"y: = x Asbag. "Convertir a símbolo colección de bolsos"y: = x de activos. "Convertir a símbolo establecido colección"

"************************************************* ***********************

Page 5: Me Todos Small Talk

* Cadena: * ************************************************** ********************** "| Bxy |x: = 'Esto es una cadena ". "Cadena de asignación"x: = 'Cadena', 'concatenación'. "Concatenación de cadenas"b: x = IsEmpty. "Prueba de si la cadena está vacía"y: = x tamaño. "Cadena de longitud"y: = x en: 2. "Char en el lugar"y: = x copyFrom: 2 a: 4. "Subcadena"y: = x indexOf: $ a ifAbsent: [0]. "Primera posición de carácter en cadena"x: = new String: 4. "Asignar objeto de cadena"x "ajustar elementos de cuerda" en: 1 pone: $ a; en: 2 put: $ b; en: 3 put: $ c; en: 4 put: $ e.x: String = con: $ a con: $ b con: $ c con: $ d. "Configurar hasta 4 elementos a la vez"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la cadena"b: = x conforme: [: a | (a> = $ a) y (a <= $ z)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> $ a]. "Devolver todos los elementos que cumplen con condiciones"y: = x asSymbol. "Convierte una cadena a símbolo"y: = x asArray. "Convierte una cadena a la matriz"x: = 'ABCD' asByteArray. "Convert string a array byte"y: = x asOrderedCollection. "Convertir a cadena colección ordenada"y: = x asSortedCollection. "Convertir a cadena colección ordenada"y: = x Asbag. "Convierte una cadena a la bolsa de recogida"y: = x de activos. "Convierte una cadena a establecer colección"y: = x barajan. "Barajar al azar cadena"

"************************************************* *********************** * Array: * Se ha corregido colección de longitud ByteArray *: Array limitado a elementos byte (0-255) * WordArray *: Array limitado a elementos denominativos (0-2 ^ 32) * ************************************************** ********************** "| Bxy suma max |x: = # (4 3 2 1). "Matriz constante"x: = Array con: 5 con: 4, con: 3 con: 2. "Crear la matriz con hasta 4 elementos"x: = new Array: 4. "Asignar una matriz con el tamaño especificado"x "elementos de ajuste de la matriz" en: 1 put: 5; en: 2 put: 4; en: 3 put: 3; en: 4 Ponga: 2.b: x = IsEmpty. "Prueba de si el array está vacío"y: = x tamaño. "Array size"y: = x en: 4. "Obtener un elemento de matriz en el índice"b: = X incluye: 3. "Probar si el elemento está en la matriz"y: = x copyFrom: 2 a: 4. "Subconjunto"y: = x indexOf: 3 ifAbsent: [0]. "Primera posición del elemento dentro de la matriz"y: = x occurrencesOf: 3. "Número de veces objeto de colección"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la matriz"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de matriz suma"suma: = 0. 1 a: (tamaño x) do: [: a | suma: = suma + (x en: a)]. "Elementos de matriz suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de matriz suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la matriz" ifTrue: [a] ifFalse: [c]].y: = x barajan. "Barajar al azar colección"y: = x asArray. "Convertir a la matriz""Y:. = X asByteArray" "Nota: Esta instrucción no está disponible en Squeak"y: = x asWordArray. "Convertir a la matriz palabra"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** * OrderedCollection: actúa como una matriz * ampliable ************************************************** ********************** "| Bxy suma max |x: = OrderedCollection con: 4 con: 3 con: 2 con: 1. "Crear colección con hasta 4 elementos"x: = OrderedCollection nuevo. "Asignar colección"x añadir: 3; add: 2; add: 1; add: 4; usted mismo. "Agregar elemento a la colección"y: = x addFirst: 5. "Añadir elemento al principio de la colección"y: = x removeFirst. "Quitar primer elemento de colección"y: = x addLast: 6. "Añadir elemento al final de la colección"y: = x removeLast. "Eliminar el último elemento en la colección"y: = x addAll: # (7 8 9). "Añadir varios elementos a la colección"y: = x removeAll: # (7 8 9). "Eliminar varios elementos de la colección"x en: 2 put: 3. "Conjunto de elementos en el índice"y: = x quitar: 5 ifAbsent: []. "Quitar elemento de la colección"

Page 6: Me Todos Small Talk

b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"y: = x en: 2. "Recuperar elemento en el índice"y: = x en primer lugar. "Recuperar el primer elemento en la colección"y: = x pasado. "Recuperar último elemento de colección"b: x = Incluye: 5. "Probar si el elemento está en la colección"y: = x copyFrom: 2: 3. "Subcolección"y: = x indexOf: 3 ifAbsent: [0]. "Primera posición del elemento dentro de la colección"y: = x occurrencesOf: 3. "Número de veces objeto de colección"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = 0. 1 a: (tamaño x) do: [: a | suma: = suma + (x en: a)]. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x barajan. "Barajar al azar colección"y: = x asArray. "Convertir a la matriz"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** * SortedCollection: como OrderedCollection salvo orden de los elementos * * Determinado por los criterios de clasificación * ************************************************** ********************** "| Bxy suma max |x: = SortedCollection con: 4 con: 3 con: 2 con: 1. "Crear colección con hasta 4 elementos"x: = SortedCollection nuevo. "Asignar colección"x: = sortBlock SortedCollection: [: a: c | a> c]. "Establecer los criterios de ordenación"x añadir: 3; add: 2; add: 1; add: 4; usted mismo. "Agregar elemento a la colección"y: = x addFirst: 5. "Añadir elemento al principio de la colección"y: = x removeFirst. "Quitar primer elemento de colección"y: = x addLast: 6. "Añadir elemento al final de la colección"y: = x removeLast. "Eliminar el último elemento en la colección"y: = x addAll: # (7 8 9). "Añadir varios elementos a la colección"y: = x removeAll: # (7 8 9). "Eliminar varios elementos de la colección"y: = x quitar: 5 ifAbsent: []. "Quitar elemento de la colección"b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"y: = x en: 2. "Recuperar elemento en el índice"y: = x en primer lugar. "Recuperar el primer elemento en la colección"y: = x pasado. "Recuperar último elemento de colección"b: = X incluye: 4. "Probar si el elemento está en la colección"y: = x copyFrom: 2: 3. "Subcolección"y: = x indexOf: 3 ifAbsent: [0]. "Primera posición del elemento dentro de la colección"y: = x occurrencesOf: 3. "Número de veces objeto de colección"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = 0. 1 a: (tamaño x) do: [: a | suma: = suma + (x en: a)]. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x asArray. "Convertir a la matriz"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** Bolsa *: OrderedCollection excepto como elementos no son en * * * Orden particular ************************************************** ********************** "| Bxy suma max |x: = bolsa con: 4 con: 3 con: 2 con: 1. "Crear colección con hasta 4 elementos"x: = ¡NUEVO. "Asignar colección"x añadir: 4; add: 3; add: 1; add: 2; usted mismo. "Agregar elemento a la colección"x añadir: 3 withOccurrences: 2. "Añadir varias copias a la colección"y: = x addAll: # (7 8 9). "Añadir varios elementos a la colección"y: = x removeAll: # (7 8 9). "Eliminar varios elementos de la colección"y: = x quitar: 4 ifAbsent: []. "Quitar elemento de la colección"b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"

Page 7: Me Todos Small Talk

b: = X incluye: 3. "Probar si el elemento está en la colección"y: = x occurrencesOf: 3. "Número de veces objeto de colección"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** * Ajuste: como bolsa excepto duplicados no autorizados * * IdentitySet: utiliza la prueba de identidad (== en lugar de =) * ************************************************** ********************** "| Bxy suma max |x: = Set con: 4 con: 3 con: 2 con: 1. "Crear colección con hasta 4 elementos"x: = NUEVO AJUSTE. "Asignar colección"x añadir: 4; add: 3; add: 1; add: 2; usted mismo. "Agregar elemento a la colección"y: = x addAll: # (7 8 9). "Añadir varios elementos a la colección"y: = x removeAll: # (7 8 9). "Eliminar varios elementos de la colección"y: = x quitar: 4 ifAbsent: []. "Quitar elemento de la colección"b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"x incluye: 4. "Probar si el elemento está en la colección"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x asArray. "Convertir a la matriz"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** * Intervalo: * ************************************************** ********************** "| Bxy suma max |x: = Intervalo de: 5 a 10. "Crear el objeto interval"x: = 5 a: 10.x: = Intervalo de: 5 a: 10 por: 2. "Crear el objeto con intervalo de incremento especificado"x: = 5 a: 10 por: 2.b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"x incluye: 9. "Probar si el elemento está en la colección"x do: [: k | mostrar Transcripción: k printString; cr]. "Iterar intervalo"b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 7]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = 0. 1 a: (tamaño x) do: [: a | suma: = suma + (x en: a)]. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x asArray. "Convertir a la matriz"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

"************************************************* *********************** * Asociaciones: * ************************************************** ********************** "| Xy |x: = # myVar-> 'hola'.y: = x llave.

Page 8: Me Todos Small Talk

y: = valor x.

"************************************************* *********************** * Diccionario: * * IdentityDictionary: utiliza la prueba de identidad (== en lugar de =) * ************************************************** ********************** "| Bxy |x: = Dictionary new. "Asignar colección"x añadir: # a-> 4; add: # b-> 3; add: # c-> 1; add: # d-> 2; usted mismo. "Agregar elemento a la colección"x en: # e puesto: 3. "Conjunto de elementos en el índice"b: x = IsEmpty. "Prueba si está vacío"y: = x tamaño. "Número de elementos"y: = x en: # a ifAbsent: []. "Recuperar elemento en el índice"y: = x keyAtValue: 3 ifAbsent: []. "Recuperar la clave para el valor dado con el bloque de error"y: = x removeKey: # ifAbsent e: []. "Quitar elemento de la colección"b: = X incluye: 3. "Probar si el elemento está en la colección de valores"b: = x includesKey: # a. "Prueba si el elemento está en la colección de llaves"y: = x occurrencesOf: 3. "Número de veces objeto de colección"y: x = teclas. "Conjunto de claves"y: = x valores. "Bolsa de valores"x do: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección de valores"x keysDo: [: a | mostrar Transcripción: a printString; cr]. "Iterar sobre la colección de llaves"x associationsDo: [: a | mostrar Transcripción: a printString; cr] ". iterar sobre las asociaciones"x keysAndValuesDo: [: aKey: aValue | Transcripción "iterar sobre las claves y valores" show: aKey printString, el espacio; show: aValue printString; cr].b: x = conforme: [: a | (a> = 1) y (a <= 4)]. "Probar si todos los elementos cumplen condición"y: = x elegir: [: a | a> 2]. "Volver colección de elementos que pasan a prueba"y: = x rechazar: [: a | a <2]. "Volver colección de elementos que no prueba"y: = x cobrar: [: a | a + a]. "Transformar cada elemento de la nueva colección"y: = x detectar: [: a | a> 3] ifNone: []. "Encontrar la posición del primer elemento que pasa la prueba"suma: = 0. x do: [: a | suma: = suma + a]. suma. "Elementos de suma"suma: = x inyectar: 0 a: [: a: c | a + c]. "Elementos de suma"max: = x inyectar: 0 a: [: a: c | (a> c) "encontrar el elemento máximo en la colección" ifTrue: [a] ifFalse: [c]].y: = x asArray. "Convertir a la matriz"y: = x asOrderedCollection. "Convertir a colección ordenada"y: = x asSortedCollection. "Convertir a la colección ordenada"y: = x Asbag. "Convertir a la colección de bolsa"y: = x de activos. "Convertir a establecer colección"

Smalltalk en: # CMRGlobal puso: «entrada CMR. "Puesto mundial en Smalltalk diccionario"x: = Smalltalk en: # CMRGlobal. "Leer mundial de Smalltalk diccionario"Mostrar Transcripción: (CMRGlobal printString). "Las entradas son accesibles directamente por su nombre"Smalltalk teclas do: [: k | "imprimir todas las clases" ((Smalltalk en: k) isKindOf: Class) ifFalse: [show Transcripción: k printString; cr]].Smalltalk en: # CMRDictionary poner: (Diccionario de nuevo). "Establecer diccionario definido por el usuario"CMRDictionary en: # MyVar1 puso: 'hello1'. "Poner entrada en el Diccionario"CMRDictionary add: # MiVar2-> 'hello2'. "Añadir entrada a un uso diccionario clave-> valor combo"CMRDictionary tamaño. "Diccionario de tamaño"Teclas CMRDictionary do: [: k | "imprimir claves en el Diccionario" Transcripción del espectáculo: k printString; cr].Valores CMRDictionary do: [: k | "imprimir valores en el diccionario" Transcripción del espectáculo: k printString; cr].CMRDictionary keysAndValuesDo: [: aKey: aValue | "imprimir claves y valores" Transcripción show: aKey printString; el espacio; show: aValue printString; cr].CMRDictionary associationsDo: [: aKeyValue | "otro iterador para la impresión de los valores clave" Mostrar Transcripción: aKeyValue printString; cr].Smalltalk removeKey: # ifAbsent CMRGlobal: []. "Eliminar la entrada de Smalltalk diccionario"Smalltalk removeKey: # ifAbsent CMRDictionary: []. "Eliminar diccionario de usuario de Smalltalk diccionario"

"************************************************* *********************** * Corriente interna: * ************************************************** ********************** "| Ios bx |ios: = ReadStream en: 'Hola leído corriente.ios: = ReadStream en: 'Hola leído corriente' de: 1 a: 5.[(X: = ios nextLine) notNil] whileTrue: [show Transcripción: x; cr].posición ios: 3.ios posición.x: = ios siguiente.x: = ios vistazo.x: = Contenido de iOS.b: = ios atEnd.

Page 9: Me Todos Small Talk

ios: ReadWriteStream = ON: 'Hola leído corriente.ios: ReadWriteStream = ON: 'Hola leído corriente' de: 1 a: 5.ios: = ReadWriteStream con: 'Hola leído corriente.ios: ReadWriteStream = con: 'Hola leído corriente' de: 1 a: 10.posición ios: 0.[(X: = ios nextLine) notNil] whileTrue: [show Transcripción: x; cr].posición ios: 6.ios posición.ios nextPutAll: 'Chris'.x: = ios siguiente.x: = ios vistazo.x: = Contenido de iOS.b: = ios atEnd.

"************************************************* *********************** FileStream *: * ************************************************** ********************** "| Ios bx |ios: = FileStream newFileNamed: 'ios.txt'.ios nextPut: $ H; cr.ios nextPutAll: 'Hola archivo'; cr.'Hola File' printOn: ios.'Hola File' storeOn: ios.ios cerrarlo.

ios: = FileStream oldFileNamed: 'ios.txt'.[(X: = ios nextLine) notNil] whileTrue: [show Transcripción: x; cr].posición ios: 3.x: = posición ios.x: = ios siguiente.x: = ios vistazo.b: = ios atEnd.ios cerrarlo.

"************************************************* *********************** * Fecha: * ************************************************** ********************** "| Xy |x: = Fecha hoy. "Fecha de creación para hoy"x: = dateAndTimeNow Fecha. "Fecha de creación de la hora / fecha actual"x: = Fecha readFromString: '01 / 02/1999 '. "Fecha de creación de la cadena con formato"x: = newDay Fecha: 12 mes: # julio del año: 1999 "fecha de creación de las piezas"x: = fromDays Fecha: 36000. "Fecha de creación de los días transcurridos desde el 01/01/1901"y: = díadelasemana Fecha: # lunes. "Día de la semana como int (1-7)"y: = indexOfMonth Fecha: # enero. "El mes del año como int (1-12)"y: = DaysInMonth Fecha: 2 forYear: 1996. "El día del mes como int (1-31)"y: = daysInYear Fecha: 1996. "Días en un año (365 | 366)"y: = nameOfDay Fecha: 1 de "nombre de día de la semana (# lunes, ...)"y: = nameOfMonth Fecha: 1. "El mes name (# enero, ...)"y: = LeapYear Fecha: 1996. "1 si el año bisiesto; 0 en caso de año bisiesto"y: = x semana. "Día de la semana (# Lunes, ...)"y: = x anterior: # lunes. "Fecha para el día anterior de la semana"y: = x DAYOFMONTH. "El día del mes (1-31)"y: = x día. "Día del año (1-366)"y: = x firstDayOfMonth. "Día del año para el primer día del mes"y: = x Nombremes. "El mes del año (# enero, ...)"y: = x monthIndex. "El mes del año (1-12)"y: = x DaysInMonth. "Días en el mes (1-31)"y: = x año. "El año (19xx)"y: = x daysInYear. "Días en un año (365 | 366)"y: = x daysLeftInYear. "Faltan días del año (364 | 365)"y: = x asSeconds. "Segundos transcurridos desde el 01/01/1901"y: = x addDays: 10. "Agregar días a objeto de fecha"y: = x subtractDays: 10. "Restar días a objeto de fecha"y: = x subtractDate: (Fecha de hoy). "Sustraer fecha (resultado en días)"y: = x printFormat: # (2 1 3 $ / 1 1). "Imprimir fecha con formato"b: = (x <= Fecha de hoy). "Comparación"

"************************************************* *********************** * Hora: * ************************************************** ********************** "| Xy |x: = Tiempo ahora. "Crear tiempo desde el momento actual"x: = dateAndTimeNow Time. "Crear tiempo de hora / fecha"x: = Tiempo readFromString: '3: 47:26 pm. "Crear tiempo de cadena con formato"x: = FromSeconds Tiempo: (60 * 60 * 4). "Crear tiempo al tiempo transcurrido desde la medianoche"y: = millisecondClockValue Time. "Milisegundos desde la media noche"y: = TotalSeconds Tiempo. "Segundos totales desde 01/01/1901"y: = x segundos. "Segundo minuto después (0-59)"y: = x minutos. "Minutos última hora (0-59)"y: = x horas. "Horas después de la medianoche (0-23)"y: = x tiempoSuma: (Fecha actual). "Añadir tiempo de objetar el tiempo"y: = x subtractTime: (Fecha actual). "Resta tiempo a objeto de tiempo"y: = x asSeconds. "Convertir el tiempo en segundos"x: = millisecondsToRun Hora: ["centro de distribución"

Page 10: Me Todos Small Talk

1 a: 1000 do: [: Índice | y: = 3.14 * index]].b: = (x <= Tiempo ahora). "Comparación"

"************************************************* *********************** * Punto: * ************************************************** ********************** "| Xy |x: = 200 @ 100. "Obtener un nuevo punto"y: = x x. "Coordenada x"y: = x. "Coordenada"x: = 200 @ 100 negado. "Niega x e y"x: = (-200 @ -100) abs. "Valor absoluto de x e y"x: = (200,5 @ 100,5) redondeado. "Ronda de x e y"x: = (200,5 @ 100,5) truncado. "Truncate x e y"x: = 200 @ 100 + 100. "Añadir a escala tanto x como y"x: = 200 a 100 - 100. "Sustraer escala de xey"x: = 200 @ 100 * 2. "Multiplicar x e y por la escala"x: = 200 @ 100/2. "Dividir x e y por la escala"x: = 200 @ 100 / / 2. "Dividir x e y por la escala"x: = 200 @ 100 \ \ 3. "Resto de x e y por la escala"x: = 200 100 + 50 @ @ 25. "Sumar puntos"x: = 200 @ 100 a 50 a 25. "Resta puntos"x: = 200 @ 100 * 3 @ 4. "Multiplicar los puntos"x: = 200 @ 100 / / 3 @ 4. "Puntos de división"x: = 200 @ 100 max: 50 a 200. "Max x e y"x: = 200 @ 100 min: 50 a 200. "Min x e y"x: = 20 @ 5 dotProduct: 10 @ 2. "Suma de productos (x1 * x2 + y2 y1 *)"

"************************************************* *********************** * Rectángulo: * ************************************************** ********************** "Rectángulo fromuser.

"************************************************* *********************** Pen *: * ************************************************** ********************** "| MyPen |Mostrar restoreAfter: [ Mostrar fillWhite.

myPen: = pluma nueva. "Conseguir pluma gráfica"myPen squareNib: 1.Color myPen: (Color azul). "Establecer el color de pluma"myPen casa. "La posición del lápiz en el centro de la pantalla"myPen arriba. "Hace incapaz de sacar punta"myPen abajo. "Permitir la pluma para dibujar"myPen norte. "Los puntos de dirección hacia arriba"myPen vez: -180. "Añadir grados especificados para la dirección"myPen dirección. "Get ángulo actual de la pluma"myPen ir: 50. "Avanzar número de pluma de píxeles especificado"myPen ubicación. "Obtener la posición del lápiz"myPen goto: 200 @ 200. "Llegada al punto especificado"myPen lugar: 250 @ 250. "Llegada al punto especificado sin dibujo"impresión myPen: 'Hola Mundo' withFont: (TextStyle fontAt defecto: 1).Muestra medida. "Conseguir ancho de la pantalla @ altura"Mostrar anchura. "Conseguir ancho de la pantalla"Muestra altura. "Get altura de la pantalla"

].

"************************************************* *********************** * Mensaje dinámica del llamante / Compilación: * ************************************************** ********************** "| Mensaje receptor argumento resultado Palabra clave1 Palabra clave2 argumento1 argument2 |"Mensaje unario"receptor: = 5.mensaje: = 'factorial' asSymbol.resultado: = receptor realice: mensaje.resultado: = Compilador evaluar: ((receptor storeString), '', mensaje).resultado: = (Mensaje nuevo setSelector: argumentos Mensaje: # ()) SentTo: receptor.

"Binary mensaje"receptor: = 1.mensaje: = '+' asSymbol.argumento: = 2.resultado: = receptor realizar: withArguments mensaje: (Array con: argumento).resultado: = Compilador evaluar: ((receptor storeString), '', mensaje, '', (storeString argumento)).resultado: = (Mensaje nuevo setSelector: los argumentos del mensaje: (Array con: argumento)) SentTo: receptor.

"Mensajes clave"receptor: = 12.keyword1: = 'entre:' asSymbol.Palabra clave2: = 'y:' asSymbol.argumento1: = 10.argument2: = 20.resultado: = receptor

Page 11: Me Todos Small Talk

cumplir: (keyword1, Palabra clave2) asSymbol withArguments: (Array con: argumento1 con: argument2).resultado: = Compilador evaluar: ((StoreString receptor), '', keyword1, (argumento1 storeString), '', Palabra clave2, (argument2 storeString)).resultado: = (Mensaje nuevo setSelector: (keyword1, Palabra clave2) asSymbol argumentos: (Array con: argumento1 con: argument2)) SentTo: receptor.

"************************************************* *********************** * Clase / meta-clase: * ************************************************** ********************** "| Bx |x: name = String. "Nombre de clase"x: = categoría String. "Organización de la categoría"x: = comentario String. "Clase de comentario"x: = kindOfSubclass String. "Subclase tipo - subclase: variableSubclass, etc"x: = definición String. "Definición de la clase"x: = instVarNames String. "Inmediatas nombres de instancia de variable"x: = allInstVarNames String. "Acumulados nombres de instancia de variable"x: = classVarNames String. "Inmediatas nombres de clase de variable"x: = allClassVarNames String. "Los nombres de variable acumulada de la clase"x: = sharedPools String. "Diccionarios inmediatos utilizados como piscinas compartidas"x: = allSharedPools String. "Diccionarios acumulados utilizado como piscinas compartidas"x: = selectores String. "Selectores de mensaje para la clase"x: = String sourceCodeAt: # tamaño. "Código fuente para el método especificado"x: = allinstances String. "Colección de todas las instancias de la clase"x: = String superclase. "Superclase inmediata"x: = allSuperclasses String. "Superclases acumulados"x: = withAllSuperclasses String. "Receptor de clases y superclases acumuladas"x: = subclases de cadena. "Inmediato subclases"x: = allSubclasses String. "Subclases acumulados"x: = withAllSubclasses String. "Receptor de clases y subclases acumuladas"b: = instSize String. "El número de variables de instancia con nombre"b: = String IsFixed. "True si no hay variables de instancia indexadas"b: = isVariable String. "True si ha indexado variables de instancia"b: = isPointers String. "True si vars índice de instancia contiene los objetos"b: = isBits String. "True si vars índice de instancia contiene bytes / palabras"b: = isBytes String. "True si vars índice de instancia contiene bytes"b: = String isWords. cierto si vars índice de instancia contienen palabras "Tamaño del objeto withAllSubclasses. "Obtener el número total de participaciones de clase"

"************************************************* *********************** * Debuging: * ************************************************** ********************** "| Abx |ax ti mismo. "Retornos receptor"Cadena de navegar. "Navegar clase especificada"x inspeccionar. "Objeto ventana abierta inspector"x confirmar: "¿Es esto correcto? '.alto x. "Punto de ruptura para abrir la ventana del depurador"x detener: "mensaje Halt '.x notificar: 'Notificar texto ".x error: 'Cadena de error ". "Abrir ventana de error con el título"x doesNotUnderstand: # cmrMessage. "Mensaje de bandera no se maneja"x shouldNotImplement. "Mensaje de bandera no debe ser implementada"x subclassResponsibility. "Bandera mensaje como abstracto"x errorImproperStore. "Marcar un almacén impropio en objeto indexable"x errorNonIntegerIndex. "Enteros bandera sólo se debe utilizar como índice"x errorSubscriptBounds. "Bandera subíndice fuera de los límites"x primitiveFailed. "Primitivo sistema falló"

a: = 'A1'. b: = 'B2'. convertirse en un: b. "Conectar dos objetos"Transcripción espectáculo: a, b, cr.

"************************************************* *********************** * Misc. * ************************************************** ********************** "| X |"Smalltalk condenseChanges". "Comprimir el archivo de cambio"x: = solicitud FillInTheBlank: 'Preguntar Me'. "Preguntar al usuario para la entrada"Utilidades openCommandKeyHelp