Écrivez le code en utilisant Object.method
, et convertissez-le en .method Object
. Il doit également de préférence n'afficher que les méthodes de l'objet pour l'auto-complétion. Cursive prend également en charge cette fonctionnalité.
Je ne suis pas tout à fait - vous ne pouvez pas vraiment écrire object.method
en Clojure.
l'idée est que vous pourriez écrire thing.method().function()
et le cidre pourrait réécrire comme (.function (.method thing))
ou l'équivalent.
l'avantage est que vous pouvez obtenir une bonne saisie semi-automatique sur l'appel de fonction, puis le laisser être inversé dans l'appel d'interopérabilité correct
Je vois. La transformation elle-même n'est pas difficile à faire et ne nécessite même pas de CIDER. Peut-être qu'il y a déjà quelque chose comme ça dans clj-refactor ? //cc @benedekfazekas
l'avantage est que vous pouvez obtenir une bonne saisie semi-automatique sur l'appel de fonction, puis le laisser être inversé dans l'appel d'interopérabilité correct
Comment obtiendriez-vous de meilleurs candidats à l'achèvement de cette façon ? Sans analyse statique, ils seraient les mêmes dans les deux cas.
Il n'y a rien de tel dans cljr et je serais réticent à l'ajouter. Écrire un peu de Java directement dans la source clojure ne me semble pas bien et je n'y vois pas beaucoup d'avantages.
Je ferme ce ticket en raison d'aucune activité récente. N'hésitez pas à le rouvrir si jamais vous y revenez.
J'ai trouvé qu'il y avait un fil de discussion sur la liste de diffusion clojure, le sujet du fil de discussion est "Code prototype pour la complétion de code CIDER améliorée pour les méthodes Java".
Je ne connais pas les méthodes statiques Java, alors utiliser cet interop Java (.method Obj)
est vraiment difficile pour moi.
Commentaire le plus utile
l'idée est que vous pourriez écrire
thing.method().function()
et le cidre pourrait réécrire comme(.function (.method thing))
ou l'équivalent.l'avantage est que vous pouvez obtenir une bonne saisie semi-automatique sur l'appel de fonction, puis le laisser être inversé dans l'appel d'interopérabilité correct