Un moyen rapide de taper des personnages drôles de Scalaz?

13

Existe-t-il un moyen simple et rapide de taper les personnages amusants (comme ⊛, ≟, ∘, ∨ etc.) de Scalaz? (J'utilise Ubuntu 9.04)

Quack Quichotte
la source
4
Je ne peux vraiment pas comprendre pourquoi les concepteurs de bibliothèques ont choisi d'utiliser des symboles aussi drôles en premier lieu. Des raisons valables?
2
D'accord, jusqu'à ce que nous
Il existe de nombreuses façons d'imprimer des personnages amusants, mais la plupart sont spécifiques au système d'exploitation et à la distribution. Je pense que ces questions devraient être mieux posées sur le superutilisateur.
P Shved
1
@ Pavel: J'attends des réponses des créateurs de Scalaz eux-mêmes. C'est pourquoi j'ai posté la question sur StackOverflow.
Jetez un œil à xmodmap.
Debilski

Réponses:

12
  1. Utilisez les alias ASCII fournis par la bibliothèque. Par exemple, |+|est un alias pour .
  2. Utilisez IntelliJ IDEA, avec ces modèles en direct. Vous pouvez ensuite écrire x mapmap<TAB>pour obtenir x ∘∘. Les instructions d'installation sont traitées dans cette question récente . IntelliJ a une édition communautaire gratuite, et c'est mon choix personnel et ma recommandation pour le codage Scala.
  3. Je crois que le raccourci dans Gnome pour saisir un caractère Unicode est CTRL-SHIFT-U, Hex Code, Enter.
  4. Créez des modèles pour votre éditeur préféré.

Pourquoi utiliser ces symboles?

  1. Nous nous appuyons sur le modèle Pimp-my-Library, mais plutôt que d'envelopper un type particulier, nous fournissons des fonctions supplémentaires qui fonctionnent pour tout type avec des instances de classe de type appropriées. L'utilisation de caractères non standard minimise les conflits de noms avec les méthodes fournies par les types d'origine.
  2. Certaines opérations, comme la carte Functor, la liaison monadique et l'application Functor applicative, sont vraiment couramment utilisées et fondamentales. Scala intègre certains d'entre eux dans la jauge avec for-comprehensions. Nous vous donnons donc la possibilité d'utiliser les versions de Scalaz avec un minimum d'encombrement syntaxique, presque comme si elles faisaient partie du langage lui-même.

Exemple:

some(7) ∘ {1 +} 
List(1, 2, 3) ∗ {x => List(7, x)} 
case class Person(age: Int, name: String)
some(10) ⊛ none[String] apply Person.apply
rétronyme
la source
Ne connaissait pas les modèles en direct. Merci.
1
Pouvez-vous recommander des polices de programmation couvrant tous ces caractères Unicode? - Personnellement, je voudrais utiliser une police qui a des caractères à largeur variable (je n'aligne plus mon code dans les colonnes), mais malheureusement, IntelliJ IDEA ne peut gérer correctement le mouvement du curseur que pour les polices à largeur fixe.
Madoc
c'est un peu hors de portée, mais pourquoi les caractères spéciaux (ou même | + |), pourquoi ne pas donner un nom significatif à la fonction? J'essaie d'entrer dans le scalaz, mais chaque fois que je vois un exemple avec some(7) ∘ {1 +}, il est tout simplement impossible de comprendre ce que cela est censé faire. Vous pourriez faire valoir que c'est pour enregistrer les frappes, mais si vous devez taper "mapmap <TAB>" pour obtenir le bon caractère, pourquoi ne pas simplement appeler la fonction mapmap?
Mortimer
0

Essaye ça -

Assurez-vous que le verrouillage numérique est désactivé
Maintenez la touche ALT enfoncée
Sur le pavé numérique - appuyez sur +, puis sur le nombre décimal Unicode du caractère souhaité.
Relâchez la touche ALT

C'est une vieille astuce qui fonctionnait sous DOS avec des codes ASCII (sans le +) et fonctionne dans les fenêtres dans les zones d'édition qui prennent Unicode. Cela devrait fonctionner sur certains linux je pense.

Vous pouvez également essayer la méthode décrite ici .

shoosh
la source
2
Ce n'est pas quelque chose que j'appellerais rapide. Et je ne me souviens pas des nombres Unicode de tant de caractères. Je cherche quelque chose de plus rapide et de moins exigeant.
0

C'est plus facile sous Linux que dans tout autre OS que je connaisse.

Consultez ce lien pour plus d'informations / détails: https://help.ubuntu.com/community/ComposeKey

Tout d'abord, vous pouvez appuyer sur Ctrl + Maj + U suivi par le code Unicode. Par exemple, Ctrl + Maj + U + 2203 = ∃. Ce n'est peut-être pas si pratique, mais vous en aurez besoin pour la prochaine étape.

La meilleure façon est d'utiliser la clé de composition, AKA Multi_key. Comme décrit dans l'article ci-dessus, vous pouvez composer des caractères avec Multi_key + char1 + char2. Par exemple, Multi_key 'e est é.

Je trouve que la touche Caps Lock fait une splendide Multi_key. Vous pouvez le définir avec Préférences Système -> Clavier -> Disposition -> Options.

Pour créer vos propres séquences clés de composition. créer un fichier ~ / .XCompose et ajouter des entrées telles que

: "∃"

(en utilisant l'astuce Ctrl + Maj + U, ou simplement avec copier / coller)

Déconnectez-vous et reconnectez-vous (ou, pour les tests, exécutez simplement ssh -X localhost xterm).

Cayhorstmann
la source