Scalaz'dan komik karakterler yazmanın hızlı bir yolu mu?


13

Scalaz'dan komik karakterleri (⊛, ≟, ∘, ∨ vb.) Yazmanın kolay ve hızlı bir yolu var mı? (Ubuntu 9.04 kullanıyorum)


4
Kütüphane tasarımcılarının neden bu kadar komik sembolleri ilk etapta seçtiklerini ciddi olarak anlayamıyorum. Geçerli bir nedeniniz var mı?

2
En azından bazı klavye desteği görene kadar kabul etti

Komik karakterleri yazdırmanın çok sayıda yolu vardır, ancak bunların çoğu işletim sistemine ve dağıtıma özgüdür. Bence süper kullanıcılarda bu tür sorular daha iyi sorulmalı.
P

1
@Pavel: Scalaz'ın yaratıcılarından kendilerinin cevaplarını bekliyorum. Bu yüzden soruyu StackOverflow'a gönderdim.

Xmodmap'a bir göz atın.
Debilski

Yanıtlar:


12
  1. Kütüphane tarafından sağlanan ASCII takma adlarını kullanın. Örneğin, |+|için bir takma addır .
  2. Bu Canlı Şablonlarla IntelliJ IDEA kullanın. Daha sonra x mapmap<TAB>almak için yazabilirsiniz x ∘∘. Kurulum talimatları bu son soruda ele alınmıştır . IntelliJ'in ücretsiz bir Topluluk Sürümü vardır ve benim kişisel seçimim ve Scala kodlaması için önerim.
  3. Gnome'da Unicode karakter girmek için kullanılan kısayolun CTRL-SHIFT-U, Hex Code, Enter olduğuna inanıyorum.
  4. Favori düzenleyiciniz için şablonlar oluşturun.

Neden bu sembolleri hiç kullanıyorsunuz?

  1. Pimp-my-Library desenine güveniyoruz, ancak belirli bir türü sarmak yerine, uygun tip sınıf örneklerine sahip her tür için çalışan ekstra işlevler sağlıyoruz. Standart olmayan karakterlerin kullanılması, orijinal türler tarafından sağlanan yöntemlerle ad çakışmalarını en aza indirir.
  2. Functor haritası, Monadic bağlama ve Uygulamalı Functor gibi bazı işlemler gerçekten yaygın olarak kullanılır ve temeldir. Scala bunlardan bazılarını kavrayışla dilin içine yerleştirir. Bu yüzden size, sanki dilin bir parçasıymış gibi Scalaz versiyonlarını minimum sözdizimsel karmaşa ile kullanma seçeneği sunuyoruz.

Misal:

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

Canlı Şablonlar hakkında bir şey bilmiyordum. Teşekkürler.

1
Tüm bu Unicode karakterleri kapsayan herhangi bir programlama yazı tipi önerebilir misiniz? - Şahsen, değişken genişlikli karakterlere sahip bir yazı tipi kullanmak istiyorum (kodumu sütunlarda artık hizalamıyorum), ancak ne yazık ki, IntelliJ IDEA imleç hareketini yalnızca sabit genişlikli yazı tipleri için iyi işleyebilir.
Madoc

bu biraz kapsam dışı, ama neden özel karakterler (hatta | + |), işleve anlamlı bir isim vermekte sorun var? Skalaya girmeye çalışıyorum, ama her örnek gördüğümde some(7) ∘ {1 +}bunun ne anlama geldiğini anlamak imkansız. Bunun tuş vuruşlarını kaydetmesini iddia edebilirsiniz, ancak doğru karakteri elde etmek için "mapmap <TAB>" yazmanız gerekiyorsa, neden sadece mapmap fonksiyonunu çağırmıyorsunuz?
Mortimer

0

Bunu dene -

Sayı
kilidinin KAPALI olduğundan emin olun ALT tuşunu basılı tutun
Sayısal tuş takımında - tuşuna +ve ardından istediğiniz karakterin ondalık Unicode numarasına basın .
ALT tuşunu serbest bırakın

Bu, DOS'ta ASCII kodlarıyla (olmadan +) çalışan ve Unicode alan düzenleme kutularındaki pencerelerde çalışan eski bir numaradır . Sanırım bazı linuxes üzerinde çalışması gerekir.

Burada açıklanan yöntemi de denemek isteyebilirsiniz .


2
Bu hızlı diyeceğim bir şey değil. Ve bu kadar çok karakterin unicode sayılarını hatırlayamıyorum. Daha hızlı ve daha az talepkar bir şey arıyorum.

0

Linux'ta farkında olduğum diğer tüm işletim sistemlerinden daha kolay.

Arka plan / ayrıntılar için bu bağlantıya göz atın: https://help.ubuntu.com/community/ComposeKey

İlk önce Ctrl + Shift + U tuşlarına basıp ardından Unicode kodunu kullanabilirsiniz. Örneğin, Ctrl + Üst Karakter + U + 2203 = ∃. Bu çok uygun olmayabilir, ancak bir sonraki adım için ihtiyacınız olacak.

En iyi yol, oluşturma anahtarını (AKA Multi_key) kullanmaktır. Yukarıdaki makalede açıklandığı gibi, Multi_key + char1 + char2 ile karakterler oluşturabilirsiniz. Örneğin, Multi_key 'e é'dir.

Caps Lock tuşunun görkemli bir Multi_key yaptığını görüyorum. Sistem Tercihleri ​​-> Klavye -> Mizanpaj -> Seçenekler ile ayarlayabilirsiniz.

Kendi oluşturmak anahtar dizileri yapmak. Bir dosya oluşturun ~ / .XCompose ve gibi girişler ekleyin

: "∃"

(Ctrl + Üst Karakter + U hilesi kullanarak veya yalnızca kopyala / yapıştır ile)

Oturumu kapatıp tekrar açın (veya sınama için ssh -X localhost xterm komutunu çalıştırın).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.