0 Introduction Water Pouring Problem Excercices Pour démarrer A vos 🎹

Kotlin par l'exemple

Speakers

🗺 Roadmap

Présentation, Installation
Exercice
...

Wifi

🙏

Sinon utilisez le wifi WI-FDE-INVITE / 7CndsqaiFDEUM.

Pré-requis - IDE

Pré-requis - Exercices

Version basique:
  1. git clone http://github.com/MonkeyPatchIo/KotlinByExample-Lite
Pour ceux qui ont: du réseau et qui veulent faire l'exercice serveur ou android ou web :
  1. git clone http://github.com/MonkeyPatchIo/KotlinByExample
  2. git checkout {branch} avec la branche dans exo-mobile, exo-server, exo-web
  3. ./gradlew clean assemble test (les tests doivent être en erreurs)

Water Pouring Problem

Tonneau magique

Tonneau magique

Verres

8 / 8
0 / 6
1 / 4

Remplir

Fill
1 / 4
➡️
4 / 4

Verser

Pour
6 / 8
into
2 / 6
➡️
2 / 8
,
6 / 6

Vider

Empty
3 / 4
➡️
0 / 4

Démo

Excercices

Choisir son exercice

Pour démarrer

Hello World

fun main(args: Array<String>) {
    println("Hello Sunny-Tech !")
}

  • Utilisez Alt + Shift + (Cmd|Ctrl) + K pour convertir une classe Java en Kotlin
  • Ou copiez du code Java dans un fichier Kotlin

Glass

data class Glass(val capacity: Int,
                 val current: Int = 0) {

    init {
        require(capacity > 0) {
            "Capacity: $capacity should be > 0"
        }
        require(current in 0..capacity) {
            "Current: $current should be into [0, $capacity]"
        }
    }
}

typealias State = List<Glass>
  • En écrivant du Kotlin vous aurez plein de fun !
  • Le typealias nécessite Kotlin 1.1.

Moves

sealed class Move

data class Empty(val index: Int) : Move()

data class Fill(val index: Int) : Move()

data class Pour(val from: Int, val to: Int) : Move() {
    init {
        require(from != to)
    }
}
  • Avec les sealed et les data class on peut faire des Abstract Data Class
  • Le sealed nécessite Kotlin 1.1.

A vos 🎹