Uma maneira rápida de digitar personagens engraçados de Scalaz?


13

Existe alguma maneira fácil e rápida de digitar os personagens engraçados (como ⊛, ≟, ∘, ∨ etc.) do Scalaz? (Estou usando o Ubuntu 9.04)


4
Eu realmente não consigo entender por que os designers da biblioteca optaram por usar símbolos tão engraçados em primeiro lugar. Alguma razão válida?

2
Concordamos, até vermos algum suporte de teclado, pelo menos

Existem várias maneiras de imprimir personagens engraçados, mas a maioria deles é específica de sistema operacional e distribuição. Eu acho que essas perguntas devem ser melhor feitas no superusuário.
P Enviado

1
@Pavel: Estou esperando respostas dos criadores do próprio Scalaz. Foi por isso que postei a pergunta no StackOverflow.

Dê uma olhada no xmodmap.
Debilski

Respostas:


12
  1. Use os aliases ASCII fornecidos pela biblioteca. Por exemplo, |+|é um alias para .
  2. Use o IntelliJ IDEA, com esses modelos ao vivo. Você pode escrever x mapmap<TAB>para receber x ∘∘. As instruções de instalação são abordadas nesta pergunta recente . O IntelliJ possui uma Community Edition gratuita e é minha opção e recomendação pessoal para a codificação Scala.
  3. Acredito que o atalho no Gnome para inserir um caractere Unicode seja CTRL-SHIFT-U, código hexadecimal, Enter.
  4. Crie modelos para o seu editor favorito.

Por que usar esses símbolos?

  1. Contamos com o padrão Pimp-my-Library, mas em vez de agrupar um tipo específico, fornecemos funções extras que funcionam para qualquer tipo com instâncias de classe de tipo adequadas. O uso de caracteres não padrão minimiza conflitos de nomes com métodos fornecidos pelos tipos originais.
  2. Algumas operações, como o mapa do Functor, a ligação Monadic e o Apply Aplicador do Functor, são realmente comuns e fundamentais. Scala constrói alguns deles no idioma com compreensão. Portanto, oferecemos a opção de usar as versões do Scalaz com um mínimo de desordem sintática, quase como se fossem parte do próprio idioma.

Exemplo:

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

Não sabia sobre os modelos ao vivo. Obrigado.

1
Você pode recomendar fontes de programação que cubram todos esses caracteres Unicode? - Pessoalmente, gostaria de usar uma fonte com caracteres de largura variável (não alinhe mais meu código em colunas), mas, infelizmente, o IntelliJ IDEA pode lidar apenas com o movimento do cursor para fontes de largura fixa.
Madoc

isso está um pouco fora do escopo, mas por que os caracteres especiais (ou mesmo | + |), o que há de errado em atribuir um nome significativo à função? Estou tentando entrar no scalaz, mas toda vez que vejo um exemplo some(7) ∘ {1 +}, é impossível entender o que isso significa fazer. Você pode argumentar que é para salvar pressionamentos de tecla, mas se você precisar digitar "mapmap <TAB>" para obter o caractere certo, por que não chamar a função mapmap?
Mortimer

0

Tente isto -

Verifique se o numlock está desativado.
Mantenha a tecla ALT pressionada.
No teclado numérico - pressione+ e, em seguida, o número decimal Unicode do caractere desejado.
Solte a tecla ALT

Esse é um truque antigo que funcionava no DOS com códigos ASCII (sem o +) e funciona nas janelas nas caixas de edição que usam Unicode. Deveria funcionar em alguns linuxes, eu acho.

Você também pode tentar o método descrito aqui .


2
Isso não é algo que eu chamaria de rápido. E não me lembro de números unicode de tantos caracteres. Estou procurando algo mais rápido e menos exigente.

0

É mais fácil no Linux do que em qualquer outro SO que eu conheço.

Confira este link para obter detalhes / detalhes: https://help.ubuntu.com/community/ComposeKey

Primeiro, você pode pressionar Ctrl + Shift + U e depois com o código Unicode. Por exemplo, Ctrl + Shift + U + 2203 = ∃. Isso pode não ser tão conveniente, mas você precisará dele para a próxima etapa.

A melhor maneira é usar a tecla de composição, AKA Multi_key. Conforme descrito no artigo acima, você pode compor caracteres com Multi_key + char1 + char2. Por exemplo, Multi_key 'e é é.

Acho que a tecla Caps Lock faz uma Multi_key esplêndida. Você pode configurá-lo com Preferências do sistema -> Teclado -> Layout -> Opções.

Para criar suas próprias seqüências de teclas. crie um arquivo ~ / .XCompose e adicione entradas como

: "∃"

(usando o truque Ctrl + Shift + U ou apenas com copiar / colar)

Efetue logout e logon novamente (ou, para teste, basta executar o ssh -X localhost xterm).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.