Utanmadan aslında yararlı bulacağım bir şey için bir istek gönderiyorum. Görev, keyfi bir ascii kutusu çizimi almaktır.
|
+----+----+
| state A +---+
+---------+ |
|
+----v----+
| state B |
+---------+
... ve unicode kutu çizim karakterlerini kullanarak daha güzel bir şeye dönüştürün, ör.
│
╭────┴────╮
│ state A ├───╮
╰─────────╯ │
│
╭────v────╮
│ state B │
╰─────────╯
Daha ayrıntılı olarak:
- yalnızca dönüştür + - | karakterler - diğer karakterler değiştirilmemelidir
kullanım
- KUTU ÇİZİMLERİ IŞIK DİKEY (U + 2502) │
- KUTU ÇİZİMLERİ IŞIK YATAY (U + 2500) ─
- KUTU ÇİZİMLERİ IŞIK ARK AŞAĞI VE SAĞ (U + 256D) ╭
- KUTU ÇİZİMLERİ IŞIK ARK AŞAĞI VE SOL (U + 256E) ╮
- KUTU ÇİZİMLERİ IŞIK ARK YUKARI VE SOL (U + 256F) ╯
- KUTU ÇİZİMLERİ IŞIK ARK YUKARI VE SAĞ (U + 2570) ╰
- KUTU ÇİZİMLERİ IŞIK DİKEY VE SOL (U + 2524) ┤
- KUTU ÇİZİMLERİ IŞIK DİKEY VE SAĞ (U + 251C) ├
- KUTU ÇİZİMLERİ IŞIK AŞAĞI VE YATAY (U + 252C) ┬
- KUTU ÇİZİMLERİ IŞIK VE YATAY (U + 2534) ┴
KUTU ÇİZİMLERİ IŞIK DİKEY VE YATAY (U + 253C) ┼
- her zaman U + 2500 ile değiştirilir
- | her zaman U + 2502 ile değiştirilir
- +, kuzey, güney, doğu ve batısında 4 karaktere bağlı (varsa) bir unicode karakterle değiştirilir
- <ve> a + 'nın kuzeyi veya güneyi dikey duvar parçaları olarak kabul edilir (böylece bir kutunun dikey duvarlarında oklar bitebilir)
- v ve ^, a + 'nın doğusunda veya batısındaysa yatay duvar segmentleri olarak kabul edilir (böylece bir kutunun yatay duvarlarında sonlanan oklar olabilir)
- + a + 'nın kuzey, güney, doğu veya batısında bir duvar segmenti olarak kabul edilir (böylece çizgiler bir kutu köşesinin yanına bağlanabilir)
testcases
+-+ +---+ +---+ |
| +-- |ABC| -+ | +++
+-+ ++--+ +---+ +-+
|
+--->
| +--+
+-v+ +---+ | | +-----+
|Hi| -> | +^-+ |world<-----+
+--+ +---+ | +-----+ |
| +--
|
---+---
|
Oluyor
╭─╮ ╭───╮ ╭───╮ │
│ ├── │ABC│ ─┤ │ ╭┴╮
╰─╯ ╰┬──╯ ╰───╯ ╰─╯
│
╰───>
│ ╭──╮
╭─v╮ ╭───╮ │ │ ╭─────╮
│Hi│ ─> │ ╰^─╯ │world<─────╮
╰──╯ ╰───╯ │ ╰─────╯ │
│ ╰──
│
───┼───
│
En kısa kod kazanır!
Muhtemelen UTF-8 yerine Unicode demek istediniz
—
Luis Mendo
Bazı test senaryolarımız olabilir mi? Özellikle iki kutunun bir kenarda veya köşede temas ettiği kenar kasaları için (veya bunun asla olmayacağına dair açıklama).
—
trichoplax
Bu test senaryoları için gerekli çıktıları göndermek güzel olurdu.
—
16:41
Ugh, sadece bir cevap yazıyordum :-(
—
Neil
+
etrafında her yerde çizgiler varsa ?