La prima cosa che si nota in Kotlin, rispetto a Java, è che non è obbligatorio gestire le eccezioni.

Quindi questa riga è permessa:

File("file.txt").forEachLine { println(it) }

Se il file non esiste, il programma andrà in crash.

Generalmente uso sempre un IDE per i test, per qualsiasi linguaggio di programmazione.

Ma ci sono anche parecchi servizi online che mettono a disposizione interi ambienti, o compilatori, da usare per testare piccoli snippet.

Oggi vi elenco quelli che conosco relativamente a Java.

Parliamo del classico dialog che deve essere visualizzato quando eseguiamo operazioni per le quali l'utente deve aspettare.

Creare un loading dialog in JavaFX è piuttosto semplice.

Per ridimensionare le immagini in Ruby, ho usato il modulo rmagick!

Si tratta di una interfaccia tra ImageMagick.

Quindi do per scontato che sia installato sul vostro sistema.

Le Data classes in Kotlin sono classi che vengono usate solo come contenitori di dati.

Possiamo paraganorarle ai classici JavaBean, con una differenza enorme sulla sintassi.

Oggi stavo maneggiando con la mia Fedora (installata in virtuale ovviamente), e stavo seguendo un pò di tutorial sull'installazione di alcuni programmi.

C'erano differenti comandi a seconda della versione, ed io, che non sono esperto di Fedora, non ricordavo quale versione avessi installato.

Lo scopo del codice che vedremo oggi nasce da una esigenza reale: mettere un watermark, corrispondente al nome del file, su tante immagini risiedenti tutte nella stessa cartella.

Facendolo in Java ci ho messo relativamente poco tempo.

Nel programma non è prevista una gui; il path viene dato tramite riga di comando.

Voi, ovviamente, fate tutte le modifiche che volete / vi servono.

L'editarietà in Kotlin è abbastanza diversa da quella a cui siamo abituati in Java.

Cominciando dalla classe base:

open class Person constructor(var name: String, var age: Int) {
    open fun isAdult(): Boolean {
        return this.age >= 18
    }
}

Supponiamo di avere diversi comandi da eseguire uno di fila all'altro, senza voler aspettare che finiscano uno per uno per lanciare a mano quello seguente.

Come possiamo fare su Linux?

Partiamo dal presupposto che riempiamo una TableView in JavaFX usando oggetti custom.

Non mi metterò a spiegare come riempire una lista; potete vedere in un precedente articolo per come riempirla da database.

Qui vederemo come intercettare la riga selezionata, e come prendere i dati del relativo oggetto custom.