SlideShare una empresa de Scribd logo
Introducción a Scala
Meetup 23 de Enero de 2015
VALORES, TIPOS Y VARIABLES
Valores
• Una vez que un valor es asignado en Scala ya
no puede ser reasignado. A esto se le
denomina Inmutabilidad.
val nombre:tipo = inicialización
Palabra reservada
para definir un valor
Inferencia de Tipos
• Scala puede determinar el tipo de un valor
automáticamente basado en su inicialización,
simplificando la definición:
val nombre:tipo = inicialización
No es necesario
especificar el tipo
Variables
• Scala también cuenta con las variables
tradicionales, con sintaxis muy similar a los
valores, solo que en el caso de las variables
estas si se pueden reasignar:
var nombre:tipo = inicialización
Palabra reservada
para definir una variable
EXPRESIONES Y CONDICIONALES
Expresiones y Sentencias
• Las expresiones producen un resultado que puede
ser guardado en un valor o variable y las sentencias
no producen un resultado, pero pueden cambiar un
estado, es decir cambiar la asignación de alguna
variable.
scala > val horas = 10
scala > val minutosPorHora = 60
scala > val minutos = horas * minutosPorHora
Lo que se encuentra del lado derecho
Del signo de asignación (=), es una expresión
El tipo Unit
• Para poder expresar la falta de valor se utiliza
el tipo Unit. Es decir cuando una expresión no
regresa nada se utiliza Unit:
scala> val result = println(“hola”)
hola
result: Unit = ()
Expresiones Condicionales
• La expresiones condicionales pueden tener las
expresiones if y else. Esta expresion if en su
conjunto es una expresión, lo que significa que
produce un resultado:
scala> if (99 < 100) { 4 } else { 42 }
res0: Int = 4
scala> val resultado = if (99 < 100) { 4 } else { 42 }
result: Int = 4
El REPL crea
La variable res0
EXPRESIONES COMPUESTAS
Expresiones Compuestas
• Las expresiones compuestas están rodeadas por corchetes.
Una expresión compuesta puede contener cualquier numero
de otras expresiones incluso otras expresiones compuestas:
val kg = 80.0
val altura = 1.7
val estatusPeso = {
val imc = kg/(altura*altura)
if (imc < 18.5) "Bajo Peso"
else if (imc < 25) "Peso Normal"
else "Sobrepeso”
}
println(estatusPeso)
*Note que el alcance de imc esta
solo dentro de la expresión donde
fue definida
EJERCICIOS
Ejercicios
1. Crear un valor entero (Int)
2. Intenta cambiar el valor. ¿Qué pasó?
3. Crea una variable e inicialízala a entero (Int),
entonces intenta reasiganrala a un doble (Double).
¿Qué pasó?
4. Guarda e imprime un doble (Double), ¿Usaste
inferencia de Tipos?. Intenta declarar el Tipo.
5. ¿Qué pasa si intentas almacenar un 15 en un valor
doble (Double)?
Ejercicios
6. Almacena una cadena multilinea
7. ¿Qué pasa si intentamos almacenar la cadena
“tal vez” en un valor del tipo boleano (Boolean)?
8. ¿Qué pasa si se intenta guardar el valor 15.4 en
un valor doble (Double)?
9. Modifica estatusPeso para que regrese Unit en
lugar de String
10.Modifica el programa para que regrese un
pesoIdeal basado en un IMC de 22. Pista:
pesoIdeal = IMC * (estatura * estatura)

Más contenido relacionado

PPTX
Tipos De eEstructura De Programación
PDF
Expresiones regulares
PDF
Jyoc java-cap06 la clase string
PPTX
Capitulo III de calculo diferencial de Granville
PPT
Arreglos Expresiones y Control de Flujo
PPTX
Expresiones y control del flujo Java
Tipos De eEstructura De Programación
Expresiones regulares
Jyoc java-cap06 la clase string
Capitulo III de calculo diferencial de Granville
Arreglos Expresiones y Control de Flujo
Expresiones y control del flujo Java

La actualidad más candente (7)

PPT
UNIDAD 6. TRANSFORMADA LAPLACE
DOCX
Limite utp
PPT
Formas indetermina nelson
PDF
5. ecuaciones cap 5 (1)
PPTX
Tipo de datos
PPTX
Java script estructuras_datos
PDF
Estructuras PseInt
UNIDAD 6. TRANSFORMADA LAPLACE
Limite utp
Formas indetermina nelson
5. ecuaciones cap 5 (1)
Tipo de datos
Java script estructuras_datos
Estructuras PseInt
Publicidad

Destacado (20)

PPTX
PresentacionParaINFOTEC
PPTX
Realidades y Sueños de Big Data en México
PPTX
INEGI ESS big data workshop
PPTX
Big data taller inegi sedesol
PPTX
¿Qué es big data?
PPTX
Revelando los secretos de las redes sociales, Universidad Autónoma de Aguasca...
PPTX
Revelando los secretos de twitter en México sg virtual
PPTX
Anatomía de un proyecto de Big Data
PPTX
PPTX
Big Data, Revelando los secretos de twitter, CIMAT Zacatecas 2014
PPTX
Revelando los secretos de las redes sociales
PPTX
Revelando los secretos de twitter, Festival de Software Libre 2014
PDF
APIDays - API Design Workshop
PDF
Workshop: Lambdas y Stream API en Java 8
PPTX
Google mesa
PDF
Apache spark meetup
PPTX
Que es big data huejutla uaeh
PPTX
Big data lead colmex
PDF
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
PPTX
Explorando Big Data y Ciencia de Datos con GPUs
PresentacionParaINFOTEC
Realidades y Sueños de Big Data en México
INEGI ESS big data workshop
Big data taller inegi sedesol
¿Qué es big data?
Revelando los secretos de las redes sociales, Universidad Autónoma de Aguasca...
Revelando los secretos de twitter en México sg virtual
Anatomía de un proyecto de Big Data
Big Data, Revelando los secretos de twitter, CIMAT Zacatecas 2014
Revelando los secretos de las redes sociales
Revelando los secretos de twitter, Festival de Software Libre 2014
APIDays - API Design Workshop
Workshop: Lambdas y Stream API en Java 8
Google mesa
Apache spark meetup
Que es big data huejutla uaeh
Big data lead colmex
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
Explorando Big Data y Ciencia de Datos con GPUs
Publicidad

Similar a Scala 1 (20)

PDF
Curso de Scala: Trabajando con variables
PDF
Procesamiento de datos a gran escala con Apache Spark
PPTX
Introducción a Scala
PPTX
Fundamentos de Scala (Scala Basics) (español) Catecbol
PPTX
4 Introducción al lenguaje Scala
KEY
Introducción a Scala
PDF
Descubriendo scala
PPTX
Codemotion 2014 Scala @real life
PPTX
Scala @ Real Life Codemotion 2014
PDF
OOP - Lab 1 - Variables y Asignacion.pdf
PDF
Programación Funcional en Scala
PPTX
Varibles
PDF
2685008 taller-java
PPTX
Datos y Entidades Primitivas ruben.pptx.
PPTX
Introduccion a la programacion
DOCX
Documento Margarita
PDF
Tema 2 tipos de datos y expresiones en java por gio
DOC
Estructura De Un Programa
Curso de Scala: Trabajando con variables
Procesamiento de datos a gran escala con Apache Spark
Introducción a Scala
Fundamentos de Scala (Scala Basics) (español) Catecbol
4 Introducción al lenguaje Scala
Introducción a Scala
Descubriendo scala
Codemotion 2014 Scala @real life
Scala @ Real Life Codemotion 2014
OOP - Lab 1 - Variables y Asignacion.pdf
Programación Funcional en Scala
Varibles
2685008 taller-java
Datos y Entidades Primitivas ruben.pptx.
Introduccion a la programacion
Documento Margarita
Tema 2 tipos de datos y expresiones en java por gio
Estructura De Un Programa

Más de Abel Alejandro Coronado Iruegas (16)

PDF
Mobility Master Class.pdf
PPTX
Live UAEMex Cubo de Datos Geoespaciales de Mexico
PPTX
Cubo de datos uaemex
PPTX
Geo Big Data 4 Datalab
PPTX
Catedra INEGI Big Data en IBERO
PPTX
Integrating eo with official statistics using machine learning in mexico geo ...
PPTX
Machine learning and Satellite Images
PPTX
El Cubo de Datos Geoespaciales de Mexico
PPTX
Cubo de Datos Geoespaciales de Mexico
PPTX
Congreso UAA 2018 Animo Tuitero 2 0
PPTX
Analisis del Sentimiento en el Estado de Animo de los Tuiteros en Mexico
PPTX
Ejemplos de Proyectos de Ciencia de Datos y Big Data en el INEGI
PPTX
Big data big opportunities
PPTX
Taller de Big Data y Ciencia de Datos en COLMEX dia 2
PPTX
Taller de Big Data y Ciencia de Datos en COLMEX dia 1
Mobility Master Class.pdf
Live UAEMex Cubo de Datos Geoespaciales de Mexico
Cubo de datos uaemex
Geo Big Data 4 Datalab
Catedra INEGI Big Data en IBERO
Integrating eo with official statistics using machine learning in mexico geo ...
Machine learning and Satellite Images
El Cubo de Datos Geoespaciales de Mexico
Cubo de Datos Geoespaciales de Mexico
Congreso UAA 2018 Animo Tuitero 2 0
Analisis del Sentimiento en el Estado de Animo de los Tuiteros en Mexico
Ejemplos de Proyectos de Ciencia de Datos y Big Data en el INEGI
Big data big opportunities
Taller de Big Data y Ciencia de Datos en COLMEX dia 2
Taller de Big Data y Ciencia de Datos en COLMEX dia 1

Último (20)

PPTX
Presentación de Redes de Datos modelo osi
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Diapositiva proyecto de vida, materia catedra
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
clase auditoria informatica 2025.........
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Estrategia de apoyo tecnología grado 9-3
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Presentación de Redes de Datos modelo osi
Calidad desde el Docente y la mejora continua .pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Propuesta BKP servidores con Acronis1.pptx
historia_web de la creacion de un navegador_presentacion.pptx
SAP Transportation Management para LSP, TM140 Col18
Presentación PASANTIAS AuditorioOO..pptx
Diapositiva proyecto de vida, materia catedra
El-Gobierno-Electrónico-En-El-Estado-Bolivia
clase auditoria informatica 2025.........
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Estrategia de apoyo tecnología miguel angel solis
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Sesion 1 de microsoft power point - Clase 1
Estrategia de apoyo tecnología grado 9-3
Zarate Quispe Alex aldayir aplicaciones de internet .docx

Scala 1

  • 1. Introducción a Scala Meetup 23 de Enero de 2015
  • 2. VALORES, TIPOS Y VARIABLES
  • 3. Valores • Una vez que un valor es asignado en Scala ya no puede ser reasignado. A esto se le denomina Inmutabilidad. val nombre:tipo = inicialización Palabra reservada para definir un valor
  • 4. Inferencia de Tipos • Scala puede determinar el tipo de un valor automáticamente basado en su inicialización, simplificando la definición: val nombre:tipo = inicialización No es necesario especificar el tipo
  • 5. Variables • Scala también cuenta con las variables tradicionales, con sintaxis muy similar a los valores, solo que en el caso de las variables estas si se pueden reasignar: var nombre:tipo = inicialización Palabra reservada para definir una variable
  • 7. Expresiones y Sentencias • Las expresiones producen un resultado que puede ser guardado en un valor o variable y las sentencias no producen un resultado, pero pueden cambiar un estado, es decir cambiar la asignación de alguna variable. scala > val horas = 10 scala > val minutosPorHora = 60 scala > val minutos = horas * minutosPorHora Lo que se encuentra del lado derecho Del signo de asignación (=), es una expresión
  • 8. El tipo Unit • Para poder expresar la falta de valor se utiliza el tipo Unit. Es decir cuando una expresión no regresa nada se utiliza Unit: scala> val result = println(“hola”) hola result: Unit = ()
  • 9. Expresiones Condicionales • La expresiones condicionales pueden tener las expresiones if y else. Esta expresion if en su conjunto es una expresión, lo que significa que produce un resultado: scala> if (99 < 100) { 4 } else { 42 } res0: Int = 4 scala> val resultado = if (99 < 100) { 4 } else { 42 } result: Int = 4 El REPL crea La variable res0
  • 11. Expresiones Compuestas • Las expresiones compuestas están rodeadas por corchetes. Una expresión compuesta puede contener cualquier numero de otras expresiones incluso otras expresiones compuestas: val kg = 80.0 val altura = 1.7 val estatusPeso = { val imc = kg/(altura*altura) if (imc < 18.5) "Bajo Peso" else if (imc < 25) "Peso Normal" else "Sobrepeso” } println(estatusPeso) *Note que el alcance de imc esta solo dentro de la expresión donde fue definida
  • 13. Ejercicios 1. Crear un valor entero (Int) 2. Intenta cambiar el valor. ¿Qué pasó? 3. Crea una variable e inicialízala a entero (Int), entonces intenta reasiganrala a un doble (Double). ¿Qué pasó? 4. Guarda e imprime un doble (Double), ¿Usaste inferencia de Tipos?. Intenta declarar el Tipo. 5. ¿Qué pasa si intentas almacenar un 15 en un valor doble (Double)?
  • 14. Ejercicios 6. Almacena una cadena multilinea 7. ¿Qué pasa si intentamos almacenar la cadena “tal vez” en un valor del tipo boleano (Boolean)? 8. ¿Qué pasa si se intenta guardar el valor 15.4 en un valor doble (Double)? 9. Modifica estatusPeso para que regrese Unit en lugar de String 10.Modifica el programa para que regrese un pesoIdeal basado en un IMC de 22. Pista: pesoIdeal = IMC * (estatura * estatura)