Thursday, 11 July 2013 19:34

Resumenes del Libro Scala para impacientes de Cay S. Horstmann

Hola a tod@s, con este artículo empezamos una serie de publicaciones de artículos que presentarán resúmenes del Libro "SCALA for Impatient", como resultado del ciclo de capacitaciones internas realizadas en Genso iniciativas web (poner enlace principal de la pagina web) para la mejora continua de los integrantes, espero que sea de ayuda cada una de las publicaciones que realizaremos, en caso de tener alguna dificultad no duden en consultar.

¿Qué es Scala?
Scala es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales.

1 Capítulo I.- Información Básica

1.1 Interprete de Scala

Para probar y practicar con algunos ejemplos es necesario instalar SCALA en su ordenador, luego asegurarse de que scala/bin este agregado en el PATH, una vez realizado lo anterior usted debe abrir una pantalla de símbolo del sistema o de comando y sólo escribir la palabra scala, luego pulsar enter, de esta forma ingresa al intérprete de SCALA como se puede ver en la figura Nro. 1

ÿ Inicio/Accesorios/símbolo_del_sistema/

Fig. 1

En la figura 1 puede observar que al ingresar una línea de código el interprete inmediatamente le muestra el tipo de dato y el resultado asignado a una variable por defecto, en el primer ejercicio la variable es res0.

Ejemplos:

scala> 8 * 5 + 9 
scala>  res0 * 0.5
scala> “Hola,  “ + res1
res0: Int = 49
res1:  Double = 24.5
res2: String = Hola, 24.5

Dentro del intérprete puede llamar a algunos métodos tan solo pulsando la tecla TAB, en caso de haber varios el interprete le muestra que métodos puede utilizar, por ejemplo en la variable res2 llamamos al método que convierte a mayúsculas el texto:

scala> res2.toUpperCase
res3: String = HOLA, 24.5

1.1 Declarar Variables

En el intérprete de Scala usted puede declarar sus propias variables por ejemplo:

scala> val respuesta = 10 * 5 + 4
respuesta: Int = 54

Debe tener en cuenta que al declarar una variable con val el resultado que le asigne es constante, es decir; que no puede asignarle un nuevo valor, si lo intenta le saldrá un mensaje de error, ejemplo:

scala> respuesta = 10
< console > :8: error: reassignment to val

Si desea tener una variable que no sea constante, entonces debe declararla como var, por ejemplo:

scala> var prueba = 10 * 7 + 3
prueba: Int = 73
scala> prueba = 4
prueba: Int = 4

Ojo. Si bien puede cambiar el valor de la variable, debe tener cuidado en reasignar por otro valor del mismo tipo.

Al declarar una variable en scala no es necesario que indique que tipo de dato desea agregar, el intérprete induce qué tipo de dato esta agregando. Lo mejor es que usted declare el tipo de dato que intenta asignar, ejemplo:

scala> val saludo: String = "Hola"

Usted puede declarar varias variables a la vez, sólo debe separar las variables usando una coma "," como puede ver en el ejemplo:

scala> val num1, num2, num3 = 10
num1: Int = 10
num2: Int = 10
num3: Int = 10

1.2 Tipos comúnmente usados

Scala tiene tipos de datos que utiliza de forma común como ser: Byte, Chart, Short, Int, Long, Float, Double and Boolean.

El intérprete de scala puede realizar conversiones entre variables primitivas y wrapper sin dificultad. Además se puede modificar un String con con los métodos que tiene la clase StringOps.

Recuerde que scala utiliza métodos no casts para realizar conversiones de números.

1.3 Operadores aritméticos y sobrecarga

Scala utiliza operadores usuales como + - * / % y los operadores de comparación & | ^ >> <<, donde estos operadores son realmente métodos, por ejemplo:

a.method(b) donde su forma abreviada es a method b

El nombre del method puede ser + por ejemplo.

scala> 1.+(10)
res5: Double = 11.0

SCALA permite la sobrecarga de operadores:

contador+=1 que es lo mismo que en java contador++

1.4 Llamadas a funciones y métodos

Para realizar alguna operación se puede importar funciones matemáticas propias de SCALA, por ejemplo:

scala> Import scala.math._

Usted puede usar ._ de la misma forma que utiliza * en java

Para usar los métodos estáticos, pow,sqrt, min,Pi. Semejantes a Java.

Scala no tiene métodos estáticos, pero cada clase tiene un companion object donde sus métodos trabajan de forma similar a un método estático en java, ejemplo:

scala> BigInt.probablePrime(100, scala.util.Random)
res6: scala.math.BigInt = 1036819622350713618865780051451

Los métodos que no presentan parámetros no es necesario utilizar paréntesis.

scala> "Hello".distinct
res7: String = Helo

1.5 El metodo Apply

Este método es parecido al charAt(i) de java y s[i] de C++. Es un método que convierte tipos de datos, donde enseña a la clase como convertirse a un cierto tipo de dato requerido.

Todas las clases tienen su Apply.

Ejemplo:

scala> "Hello"(4)
res8: Char = o
scala> "Hello".apply(4)
res9: Char = o
scala> BigInt("1234567890")
res10: scala.math.BigInt = 1234567890
scala> BigInt.apply("1234567890")
res11: scala.math.BigInt = 1234567890

1.6 Scaladoc

Revisar www.scala-lang.org /api

Fuente: SCALA for the Impatient by Cay S. Horstmann

Artículo elaborado de manera conjunta por: Nataly Nanda Huanca Patzi y Apolinar Linares Flores

Apolinar Linares Flores

Scala, java developer, he is capable to give trainings, for this reason he is curious by demand or when he really needs to learn something new.

Email This email address is being protected from spambots. You need JavaScript enabled to view it.

4132 comments

  • Comment Link Andrewtwite Wednesday, 13 December 2017 14:35 posted by Andrewtwite

    viagra when will it go generic
    viagra no script
    price viagra walgreens
    viagra no prescription
    viagra buy australia

    Report
  • Comment Link JimmieFut Wednesday, 13 December 2017 14:06 posted by JimmieFut

    the best viagra pills
    viagra ohne rezept aus deutschland
    overnight shipping generic viagra
    viagra ohne rezept aus deutschland
    buying viagra online from india

    Report
  • Comment Link Andrewtwite Wednesday, 13 December 2017 13:06 posted by Andrewtwite

    what mg does viagra come in
    viagra no script
    viagra for women pills
    viagra without prescription
    comprar viagra generico andorra

    Report
  • Comment Link Kevinrap Wednesday, 13 December 2017 12:03 posted by Kevinrap

    Праздники и события, которые мы переживаем, обычно не проходят без цветов. Они оставляют красочные воспоминания о любой дате. У каждого человека имеется цветок, ему он отдаёт предпочтение из большого разнообразия. В нашем большом цветочном ассортименте можно найти цветы на самый изысканный вкус.
    Если вы не уверены в точных предпочтениях того, кому хотите купить цветы, можете остановить выбор на красивых букетах. Наши букеты сделаны опытными флористами. Букет из ярких роз, красивых орхидей, прекрасных хризантем и других, удивляющих своей красотой цветов, будет чудесным презентом, как даме, так и джентльмену. Если вы желаете доставить радость девушке, то добавьте к букетунапример мягкую игрушку. Подобный сюрприз будет по душе каждой представительнице женского пола.
    Розы считаются самыми покупаемыми представителями флоры. Даря розы, вы наверняка угодите любому человеку. Эти красивые цветы имеют уникальный аромат, который может радовать продолжительное время. На нашем складе в наличии большой выбор сортов роз различной высоты и цветовой гаммы.

    [url=http://sale-flowers.org/bukety/]цветы купить спб[/url]

    На вопросы касающиеся подбора букета или создания его по индивидуальному заказу могут ответить наши специалисты.
    КУПОН СКИДКИ: FORUM

    Report
  • Comment Link JimmieFut Wednesday, 13 December 2017 11:37 posted by JimmieFut

    viagra pills cost
    viagra no prescription
    buy viagra japan
    viagra ohne rezept aus deutschland
    foros viagra generica

    Report
  • Comment Link LarryMeavy Wednesday, 13 December 2017 11:26 posted by LarryMeavy

    where to buy viagra in san francisco
    viagra no prescription
    cheapest place to fill viagra prescription
    viagra without a doctor prescription
    legal buy viagra online usa

    Report
  • Comment Link DavidOxymn Wednesday, 13 December 2017 11:06 posted by DavidOxymn

    猫 possibile controllare questi due hotel oppure cerca altri alberghi California su internet. ray ban pieghevoli anni 80 ray ban sunglasses it
    Per il big-picture roba web, Clear porta chiarezza. ray ban made in usa vs italy ray ban 55014
    Gli ospiti amano lhotel per la sua piscina, centro benessere, centro fitness, ristorante, area lounge e, soprattutto, il cibo ottimo il ristorante serve. ray ban aviator gradient polarized ray ban erika junior amazon
    In caso affermativo, lindustria di illustrazione inizia prima di un nuovo mondo di possibilit脿 per migliorare le vostre abilit脿 innate nel disegno. amazon occhiali ray ban da sole negozi ray ban torino
    Questi pacchetti a buon mercato sono disponibili per i turisti che saltano fuori da Cleveland. ray ban aviator ultimi modelli occhiali fotocromatici ray ban
    Who 猫 Craig Ballantyne. ray ban aviator blu ray ban round 3447
    Mark Cuban, il proprietario dei Dallas Mavericks, che 猫 linvestitore alla base del nuovo giornalismo investigativo ShareSleuth. ray ban wayfarer verde militare opaco ray ban round metal black sunglasses
    ?Built-up: 915 - 1259 m2 lenti da sole ray ban ray ban wayfarer folding prezzo
    Questa 猫 linformazione importante che ho scoperto in materia di idrolizzare crema. ray ban replica with logo ray ban 4191 polarized black
    Il Vaticano, per motivi che la creazione di un bambino al di fuori di una donna corpo s sta giocando Dio, si oppone a tutto IVF. ray ban 19.99 bufala ray ban stanghette carbonio
    !@#itsunglasses

    Report
  • Comment Link Andrewtwite Wednesday, 13 December 2017 10:55 posted by Andrewtwite

    can get viagra bangkok
    viagra without a doctor prescription
    sildenafil online prescription
    viagra no prescription
    viagra 100mg cp pellic

    Report
  • Comment Link LarryMeavy Wednesday, 13 December 2017 10:12 posted by LarryMeavy

    viagra order cialis vergleich
    viagra without prescription
    can i get viagra from pharmacy
    viagra no prescription
    difference between generic viagra pfizer viagra

    Report
  • Comment Link JimmieFut Wednesday, 13 December 2017 10:08 posted by JimmieFut

    viagra cut pill in half
    viagra without a doctor prescription
    pillole simili viagra
    viagra ohne rezept aus deutschland
    can i buy viagra in japan

    Report

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.

FaLang translation system by Faboba