Abbreviations, automatic: Difference between revisions

Added Uiua solution
m (Changed order of functions, renamed variables)
(Added Uiua solution)
 
Line 7,794:
4 djadomingu djaluna djamars djarason djaweps djabièrnè djasabra
2 Killachau Atichau Quoyllurchau Illapachau Chaskachau Kuychichau Intichau
</pre>
 
=={{header|Uiua}}==
{{Works with|Uiua|0.12.0-dev.1}}
Uses experimental `triangle` feature.
 
[https://www.uiua.org/pad?src=0_12_0-dev_1__IyBFeHBlcmltZW50YWwhCiMgRmluZCBzaG9ydGVzdCBkaXN0aW5jdCBhYmJyZXZpYXRpb24gbGVuZ3RoIHBlciBsaW5lCgpMaW5lcyDihpAgeyJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIKICAgICAgICAgInNpbmdfa2VpX3lhaHQgc2luZ19rZWlfeWF0IHNpbmdfa2VpX3llZSBzaW5nX2tlaV9zYWFtIHNpbmdfa2VpX3NpZSBzaW5nX2tlaV9uZyBzaW5nX2tlaV9sdWsiCiAgICAgICAgICIiCiAgICAgICAgICJEaXVfcHJpbWEgRGl1X3NlcXVpbWEgRGl1X3RyaXRpbWEgRGl1X3F1YXJ0aW1hIERpdV9xdWludGltYSBEaXVfc2V4dGltYSBEaXVfc2FiYmF0YSIKICAgICAgICAgInN1bm51ZGFndXIgbcOhbmFkYWd1ciB0w79zZGFndXkgbWlrdWRhZ3VyIGjDs3NkYWd1ciBmcmlnZ2phZGFndXIgbGV5Z2FyZGFndXIiCiAgICAgICAgICJZZWtfU2hhbSdiZWggRG9fU2hhbSdiZWggU2VoX1NoYW0nYmVoIENoYSdoYXJfU2hhbSdiZWggUGFual9TaGFtJ2JlaCBKb20nZWggU2hhbSdiZWgifQoKIyBSZXR1cm4gMSttYXhfY29tbW9uX3ByZWZpeApBYmJyZXZMZW4g4oaQICsxL-KGpeKXuSgv4oal4oaYMSniip4oLytc4oan4qyaQCA94oipwrDilqEpLgpTcGxpdCDihpAg4oqc4pah4oq4KOKJoEAgKQpSZW1vdmVFbXB0eSDihpAg4pa94oq4KOKJoSjiiaAw4peH4qe7KSkKIyDiiaHijZoo4oqC4oqCOiI6ICIgOuKfnCjCsOKLlSBBYmJyZXZMZW4gU3BsaXQpKSBSZW1vdmVFbXB0eSBMaW5lcwojIOKJoSZwCkxpbmUg4oaQIOKKguKKgjoiOiAiIMKw4ouVOuKKuCgvKOKKguKKgikgIiAi4omhKOKsmkAg4oaZOsKw4pahKeKKmcKkKeKfnEFiYnJldkxlbiDil4dTcGxpdAriiaHijZpMaW5lIFJlbW92ZUVtcHR5IExpbmVzCuKJoSZwCg== Try it in Uiua Pad!]
 
<syntaxhighlight lang="uiua">
# Experimental!
# Find shortest distinct abbreviation length per line
 
Lines ← {"Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
"sing_kei_yaht sing_kei_yat sing_kei_yee sing_kei_saam sing_kei_sie sing_kei_ng sing_kei_luk"
""
"Diu_prima Diu_sequima Diu_tritima Diu_quartima Diu_quintima Diu_sextima Diu_sabbata"
"sunnudagur mánadagur tÿsdaguy mikudagur hósdagur friggjadagur leygardagur"
"Yek_Sham'beh Do_Sham'beh Seh_Sham'beh Cha'har_Sham'beh Panj_Sham'beh Jom'eh Sham'beh"}
 
# Return 1+max_common_prefix
AbbrevLen ← +1/↥◹(/↥↘1)⊞(/+\↧⬚@ =∩°□).
Split ← ⊜□⊸(≠@ )
RemoveEmpty ← ▽⊸(≡(≠0◇⧻))
Line ← ⊂⊂:": " °⋕:⊸(/(⊂⊂) " "≡(⬚@ ↙:°□)⊙¤)⟜AbbrevLen ◇Split
≡⍚Line RemoveEmpty Lines
≡&p
</syntaxhighlight>
{{out}}
<pre>
2: Su Mo Tu We Th Fr Sa
12: sing_kei_yah sing_kei_yat sing_kei_yee sing_kei_saa sing_kei_sie sing_kei_ng sing_kei_luk
7: Diu_pri Diu_seq Diu_tri Diu_qua Diu_qui Diu_sex Diu_sab
2: su má tÿ mi hó fr le
2: Ye Do Se Ch Pa Jo Sh
</pre>
 
157

edits