Kotlin par l'exemple
Speakers
🗺 Roadmap
Présentation,
Installation
Exercice
...
Wifi
🙏
Sinon utilisez le wifi
WI-FDE-INVITE
/
7CndsqaiFDEUM
.
Pré-requis - IDE
-
Installation de l'IDE
Android Studio 3.0, Download IntelliJ IDEA -
Configuration éventuelle du plugin Kotlin
Tools | Kotlin | Configure Kotlin Plugin Updates
Pré-requis - Exercices
git clone http://github.com/MonkeyPatchIo/KotlinByExample-Lite
-
git clone http://github.com/MonkeyPatchIo/KotlinByExample
-
git checkout {branch}
avec la branche dansexo-mobile
,exo-server
,exo-web
-
./gradlew clean assemble test
(les tests doivent être en erreurs)
Water Pouring Problem
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
Basique Implémenter le solveur sans libs
Serveur avec SpringBoot 2 Implémentation du solveur côté serveur
Android Définition et affichage de la solution sous Android
Navigateur avec KotlinJS Définition et affichage de la solution dans un navigateur
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 lesdata class
on peut faire des Abstract Data Class - Le
sealed
nécessite Kotlin 1.1.