วิธีที่รวดเร็วในการพิมพ์ตัวละครตลกจาก Scalaz?


13

มีวิธีที่ง่ายและรวดเร็วในการพิมพ์ตัวละครตลก (เช่น⊛, ≟, ∘, ∨ ฯลฯ ) จาก Scalaz หรือไม่? (ฉันใช้ Ubuntu 9.04)


4
ฉันไม่เข้าใจอย่างจริงจังว่าทำไมนักออกแบบห้องสมุดจึงเลือกใช้สัญลักษณ์ตลกเช่นนี้ตั้งแต่แรก เหตุผลที่ถูกต้อง?

2
ตกลงจนกว่าเราจะเห็นการสนับสนุนแป้นพิมพ์อย่างน้อย

มีวิธีมากมายในการพิมพ์ตัวละครตลก แต่ส่วนใหญ่เป็นระบบปฏิบัติการและดิสทริบิวต์เฉพาะ ฉันคิดว่าคำถามดังกล่าวควรถูกถามใน superuser ดีกว่า
P Shved

1
@Pavel: ฉันคาดหวังคำตอบจากผู้สร้าง Scalaz ด้วยตัวเอง นั่นเป็นเหตุผลที่ฉันโพสต์คำถามใน StackOverflow

ดูที่ xmodmap
Debilski

คำตอบ:


12
  1. ใช้นามแฝง ASCII ที่จัดเตรียมโดยไลบรารี ยกตัวอย่างเช่นเป็นนามแฝงสำหรับ|+|
  2. ใช้ IntelliJ IDEA พร้อมด้วยเทมเพลตสดเหล่านี้ จากนั้นคุณสามารถเขียนที่จะได้รับx mapmap<TAB> x ∘∘คำแนะนำในการติดตั้งครอบคลุมในคำถามล่าสุดนี้ IntelliJ มี Community Edition ฟรีและเป็นทางเลือกส่วนตัวและคำแนะนำสำหรับการเข้ารหัสของ Scala
  3. ฉันเชื่อว่าทางลัดใน Gnome เพื่อป้อนอักขระ Unicode คือ CTRL-SHIFT-U, Hex Code, Enter
  4. สร้างเทมเพลตสำหรับโปรแกรมแก้ไขที่คุณชื่นชอบ

ทำไมต้องใช้สัญลักษณ์เหล่านี้เลย

  1. เราพึ่งพารูปแบบ Pimp-my-Library แต่แทนที่จะห่อหนึ่งประเภทเฉพาะเรามีฟังก์ชั่นพิเศษที่ทำงานสำหรับประเภทใด ๆ กับอินสแตนซ์คลาสประเภทที่เหมาะสม การใช้ตัวอักษรที่ไม่ได้มาตรฐานลดการปะทะกันของชื่อด้วยวิธีการที่ได้รับจากประเภทดั้งเดิม
  2. การดำเนินการบางอย่างเช่นแผนที่ Functor, Monadic bind และการใช้งาน Funative Apply ใช้กันทั่วไปและเป็นพื้นฐาน Scala สร้างสิ่งเหล่านี้บางส่วนไว้ในฐานข้อมูลเพื่อความเข้าใจ ดังนั้นเราจึงให้คุณเลือกใช้เวอร์ชัน Scalaz กับความยุ่งเหยิงทางไวยากรณ์ขั้นต่ำราวกับว่าพวกเขาเป็นส่วนหนึ่งของภาษา

ตัวอย่าง:

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

ไม่ทราบเกี่ยวกับเทมเพลตสด ขอบคุณ

1
คุณสามารถแนะนำแบบอักษรการเขียนโปรแกรมที่ครอบคลุมอักขระ Unicode ทั้งหมดได้หรือไม่ - โดยส่วนตัวแล้วฉันต้องการใช้แบบอักษรที่มีความกว้างของตัวแปร (ฉันไม่จัดแนวโค้ดของฉันในคอลัมน์ใด ๆ ) แต่น่าเสียดาย IntelliJ IDEA สามารถจัดการการเคลื่อนไหวของเคอร์เซอร์ได้ดีสำหรับแบบอักษรที่มีความกว้างคงที่เท่านั้น
Madoc

นี่เป็นขอบเขตเล็กน้อย แต่ทำไมอักขระพิเศษ (หรือแม้แต่ | + |) มีอะไรผิดปกติกับการให้ชื่อที่มีความหมายกับฟังก์ชั่น ฉันพยายามเข้าสู่ scalaz แต่ทุกครั้งที่ฉันเห็นตัวอย่างด้วยsome(7) ∘ {1 +}มันเป็นไปไม่ได้ที่จะเข้าใจสิ่งที่ตั้งใจจะทำ คุณสามารถยืนยันว่ามันจะบันทึกการกดแป้นพิมพ์ แต่ถ้าคุณต้องพิมพ์ "mapmap <TAB>" เพื่อให้ได้ตัวอักษรที่ถูกต้องทำไมไม่เพียงแค่เรียกฟังก์ชั่น mapmap?
มอร์ทิเมอร์ส์

0

ลองนี้ -

ตรวจสอบให้แน่ใจว่า numlock นั้นปิดการ
กดปุ่ม ALT
บนแป้นตัวเลข - กด+จากนั้นหมายเลข Unicode ทศนิยมของตัวละครที่คุณต้องการ
ปล่อยปุ่ม ALT

นี่เป็นเคล็ดลับเก่าที่ทำงานใน DOS ด้วยรหัส ASCII (โดยไม่ต้อง+) และทำงานใน windows ในกล่องแก้ไขที่ใช้ Unicode ควรทำงานกับ linuxes บางอย่างที่ฉันคิด

นอกจากนี้คุณยังอาจต้องการลองใช้วิธีการที่อธิบายไว้ที่นี่


2
นี่ไม่ใช่สิ่งที่ฉันเรียกอย่างรวดเร็ว และฉันไม่สามารถจำหมายเลข Unicode ของตัวละครจำนวนมากได้ ฉันกำลังมองหาบางสิ่งที่รวดเร็วและเรียกร้องน้อยกว่า

0

มันง่ายกว่าใน Linux มากกว่าในระบบปฏิบัติการอื่น ๆ ที่ฉันรับรู้

ตรวจสอบลิงค์นี้สำหรับพื้นหลัง / รายละเอียด: https://help.ubuntu.com/community/ComposeKey

ก่อนอื่นคุณสามารถกด Ctrl + Shift + U แล้วตามด้วยรหัส Unicode ตัวอย่างเช่น Ctrl + Shift + U + 2203 = ∃ นั่นอาจไม่สะดวกนัก แต่คุณจะต้องใช้ในขั้นตอนต่อไป

วิธีที่ดีกว่าคือใช้คีย์เขียน AKA Multi_key ตามที่อธิบายไว้ในบทความข้างต้นคุณสามารถเขียนอักขระด้วย Multi_key + char1 + char2 ตัวอย่างเช่น Multi_key 'e คือé

ฉันพบว่าปุ่ม Caps Lock ทำให้ Multi_key ที่สวยงาม คุณสามารถตั้งค่าด้วยการตั้งค่าระบบ -> คีย์บอร์ด -> เลย์เอาต์ -> ตัวเลือก

เพื่อสร้างลำดับคีย์ของคุณเอง ทำไฟล์ ~ / .XCompose และเพิ่มรายการเช่น

: "∃"

(ใช้เคล็ดลับ Ctrl + Shift + U หรือเพียงแค่คัดลอก / วาง)

ออกจากระบบและลงชื่อเข้าใช้อีกครั้ง (หรือสำหรับการทดสอบให้เรียกใช้ ssh -X localhost xterm)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.