[JAVA] J'ai touché Scala

introduction

image.png

Depuis que j'ai commencé à découvrir Scala, je l'écrirai sous forme de mémorandum. L'environnement de développement est Mac OS Mojave ver 10.14.6.

Créer un environnement pour Scala pour Mac

Installation de Java

Vous n'aurez peut-être plus besoin d'écrire ceci. Veuillez vous référer aux articles officiels et nécessaires de Qiita le cas échéant et installer la dernière version.

Installer sbt

Facile pour MacOS

brew install sbt

Vous pouvez l'installer simplement en tapant.

Ensuite, la console apparaîtra avec la commande suivante. C'est une bonne idée de baisser le répertoire avant de lancer la console. Lorsque vous démarrez la console, un répertoire appelé target apparaîtra, donc si vous ne voulez pas polluer le courant, il est recommandé de baisser le répertoire.

sbt console

Quand tu veux arrêter

scala> :quit

C'est OK si vous entrez.

Les bases de Scala

Hello,World!

Maintenant, démarrons la console et vérifions que scala fonctionne.

println("Hello, World!")
>>>Hello, World!

L'écriture de println est similaire à Java. Scala est un langage avec des types statiques comme Java, et le type est vérifié lorsque le code est exécuté.

Soyez prudent lors de la manipulation des variables

Bien sûr, Scala a également le concept de variables, mais il est important de noter qu'il existe deux types de variables Scala, val et var.

val: une fois qu'une valeur est stockée dans une variable, elle ne peut pas être modifiée var: modifiable (comme les variables C et Java régulières)

Dans Scala, en gros, seul val est utilisé pour la programmation. (Il y a aussi un type de fonction ici ...)

val x = 3 * 2
>>>x: Int = 6

Ce sera. La différence avec Java, etc. est que le type de la variable n'est pas déclaré. En effet, le compilateur déduit automatiquement le type de x à partir du type du résultat du calcul de 3 * 2.

C'est ce qu'on appelle l'inférence de type (local). De plus, en utilisant val, je confirmerai qu'une erreur se produira si elle est traitée comme un autre type et que la variable ne peut pas être modifiée (réaffectée).

//Déclaration de nouvelles variables
var x = 3 * 3
>>>x: Int = 9

x = "Hello, World!"
>>>
<console>:8: error: type mismatch;
 found   : String("Hello, World!")
 required: Int
       x = "Hello, World!"
           ^

x = 3 * 4
>>>x: Int = 12

//Expérimentez avec des variables qui ne peuvent pas être modifiées
val y = 3*2
>>>y: Int = 6


y = 3*3
>>>
<console>:12: error: reassignment to val
       y = 3*3
         ^

Bien sûr, vous pouvez également déclarer explicitement le type dans Scala.

'val'Ou'var' <Nom de variable> : <Nom du modèle> = <formule>
//Exemple
val x: Int = 3 * 3

Le résultat est comme ça. Vous pourriez être tenté d'écrire "= " ici, car Scala est un type fonctionnel. Fondamentalement, les langages fonctionnels n'ont que des expressions.

À propos des fonctionnalités de Scala

Qu'est-ce que Scala

"Scala est un langage de programmation développé par le professeur Martin Odersky de l'Ecole polytechnique fédérale de Lausanne (EPFL) en 2003. Scala se caractérise par sa capacité à effectuer à la fois une programmation orientée objet et fonctionnelle. Puisqu'il fonctionne sur la JVM, 1. La plupart des bibliothèques de langage Java peuvent être utilisées de manière transparente. "

... Apparemment ...

Comme nous l'avons vu précédemment, Scala est similaire à Java mais fonctionnel. En d'autres termes, il semble être un langage comme Sarabred, qui est orienté objet et est un langage de programmation fonctionnel.

Être fonctionnel

Le langage Scala est un concept orienté objet qui interprète et incorpore des fonctions fonctionnelles. En conséquence, les fonctions fonctionnelles sont réalisées sans gonfler inutilement les spécifications du langage.

En outre, nous devons comprendre les sujets liés à l'évaluation des expressions et des concepts tels que l'immuabilité, la transparence des références et la pureté en tant que caractéristiques importantes des langages fonctionnels. (Je vais l'omettre, en gardant à l'esprit que c'est important cette fois.)

Compatibilité Java

«Scala est un langage principalement compatible Java. Les types et les appels de méthode Scala sont compatibles Java et les bibliothèques Java peuvent être utilisées normalement à partir de Scala.»

En d'autres termes, il semble que vous puissiez utiliser pleinement la bibliothèque Java existante! Je vous remercie.

Programmation asynchrone, programmation parallèle / distribuée

«Dans Scala, Future qui exprime le calcul asynchrone est inclus dans la bibliothèque standard et est utilisé dans diverses bibliothèques. La programmation asynchrone peut gérer un grand nombre d'accès simultanés de clients qui dépasse le nombre de threads. Je vais. "

Il semble que ce soit un langage qui prend également en charge la populaire programmation parallèle et distribuée.

fin

C'est tout pour installer Scala sur votre Mac et exécuter des commandes simples. Il y a de nombreux aspects qui diffèrent des langages de programmation ordinaires, et je n'y suis pas encore habitué.

La prochaine fois, j'étudierai la compilation, l'installation d'Intel iJ et l'utilisation de base.

référence

Ce document est CC BY-NC-SA 3.0

image.png Il est distribué sous.

https://dwango.github.io/scala_text/

Recommended Posts

J'ai touché Scala
J'ai touché Scala ~ [Classe] ~
J'ai touché Scala ~ [Objet] ~
J'ai touché Scala ~ [Trate] ~
J'ai touché Scala ~ [Syntaxe de contrôle] ~
J'ai d'abord touché Java ③
J'ai d'abord touché Java ④
J'ai d'abord touché Java
[Scala] Constructeur
J'ai créé un serveur écologique avec scala
Notez que j'ai légèrement touché SQLiteOpenHelper sur Android
J'ai touché ODM for Developer ② Développement de règles