Skip to content

Instantly share code, notes, and snippets.

View rodobarcaaa's full-sized avatar
🇨🇺
Made in Cuba!

Rodolfo Echemendía Quintana rodobarcaaa

🇨🇺
Made in Cuba!
View GitHub Profile
@rodobarcaaa
rodobarcaaa / Classes.scala
Last active October 31, 2023 16:20
Scala Classes Examples
object Classes {
class MyFirstClass
val myFirstClass = new MyFirstClass
//---------------------------------------------//
class Vehicle(
var passengers: Int, //number of passengers
@rodobarcaaa
rodobarcaaa / Functions.scala
Created October 10, 2023 09:14
Scala Functions Examples
object Functions extends App {
//Existen dos formas de declarar las funciones
// Una función básica y conocida acá como callByValue
def sum(x: Int, y: Int) = x + y
// Como la invocamos
sum(1, 2) // 3
// Otra conocida acá como callByName donde pasamos otra función
def product(x: => Int, y: => Int) = x * y
@rodobarcaaa
rodobarcaaa / Numbers.scala
Created October 10, 2023 09:12
Scala Numbers Examples
object Numbers extends App {
// Podemos inicializamos una lista y al mismo tiempo le pre-populamos valores
val numbers = List(1, 2, 3, 4, 5)
// Recorremos la lista de números y filtramos los pares
def pairNumbers: List[Int] =
for {
number <- numbers
if number % 2 == 0
} yield number
@rodobarcaaa
rodobarcaaa / HelloWorldVar.scala
Created October 10, 2023 09:11
Scala Hello World Var
object HelloWorldVar extends App {
// Declaramos una variable mutable vacía de tipo String
var value: String = ""
// Le asignamos un valor
value = "mundo"
// Imprimimos el valor y acá podemos ver como usar string interpolation
println(s"¡Hola, $value!") //¡Hola, mundo!
}
@rodobarcaaa
rodobarcaaa / HelloWorldIfElse.scala
Last active October 10, 2023 09:00
Scala If Else
object HelloWorldIfElse extends App {
// Podemos ver como vimos antes que si no ponemos tipo scala lo infiere por nosotros
val language = "en"
// podemos notar que si no tiene parámetros la función no necesita paréntesis
def message = {
if (language == "es") "¡Hola, mundo!"
else if (language == "pt") "¡Olá, mundo!"
else "Hello, world!"
}
@rodobarcaaa
rodobarcaaa / HelloWorldPatternMatching.scala
Last active October 10, 2023 09:00
Scala Pattern Matching
object HelloWorldPatternMatching extends App {
private val language = "pt"
//no hay necesidad de colocar break el rompe donde primero coincida y si no en el default, es decir ' _ '
private val message = language match {
case "es" => "¡Hola, mundo!"
case "pt" => "¡Olá, mundo!"
case _ => "Hello, world!"
}
println(message) //¡Olá, mundo!