";" C'est-à-dire un point-virgule au début de la ligne
import
Pour l'instant, c'est une bonne idée de déclarer ce qui suit sur la première ligne:
(import type-system) (import oo) (import s2j)
(display "HelloWorld")
Indique si la sortie vers la console avec
Fondamentalement, la manipulation d'objets dans les langages orientés objet ne semble pas être dans les spécifications du langage, mais il semble que la plupart des implémentations l'ont séparément. sisc est également préparé car il est implémenté sur JavaVM.
(Nom de l'instance de champ)
Sentiment
Obj en tant qu'instance. Si str comme champ
(str obj)
Se sentir comme ça.
Si l'argument est args dans la méthode,
(str obj args)
Se sentir comme ça.
C'est dans le readme de l'interface pour JSR223, mais var est fourni pour l'objet lié.
Par exemple, si vous liez en tant que obj,
(var 'obj)
Se sentir comme ça.
Mais les instances Java sont généralement sensibles à la casse, n'est-ce pas?
Alors Par exemple, si vous liez en tant qu'obj
(var '|Obj|)
Se sentir comme ça.
Donc pour accéder à ce champ str
(str (var '|Obj|))
Cela signifie que.
Au fait, les champs Java sont également sensibles à la casse, hein.
Et si la str précédente était quelque chose comme Str?
Il existe donc des méthodes (ou opérateurs ou commandes) qui résolvent les noms de champs Java.
(generic-java-field-accessor '|Str|)
Se sentir comme ça.
Donc, pour accéder au champ Str de l'objet Obj lié,
( (generic-java-field-accessor '|Str|) (var '|Obj|) )
Sera.
Un autre pour les mises à jour sur le terrain 「generic-java-field-modifier」 Pour la méthode 「generic-java-method」 Il y a quelque chose comme
Supposons maintenant un champ Java Boolean appelé IsBool (disons que c'est un champ dans un objet lié appelé Obj) et envisageons de l'utiliser dans le if du schéma.
( (generic-java-field-accessor '|IsBool|) (var '|Obj|) )
En l'état, il ne peut pas être utilisé dans shceme, il y a donc quelque chose appelé (-> type target) pour l'utiliser comme un schéma.
(->boolean ( (generic-java-field--accessor '|IsBool|) (var '|Obj|) ) )
Avec ce sentiment, il est devenu possible de l'utiliser dans un schéma, donc si vous le donnez à l'opérateur if, il ressemblera enfin à ceci
(if (eq? (->boolean ( (generic-java-field--accessor '|IsBool|) (var '|Obj|) ) ) #t ) (C'est la vraie formule) (Ceci est une fausse formule) )
Ce sera comme ça.