Abbreviations, automatic: Difference between revisions

Added AutoHotkey
(Added AutoHotkey)
Line 1,590:
2 Killachau Atichau Quoyllurchau Illapachau Chaskachau Kuychichau Intichau
</pre>
 
=={{header|AutoHotkey}}==
<lang AutoHotkey>AutoAbbreviations(line){
len := prev := 0
Days := StrSplit(line, " ")
loop % StrLen(Days.1)
{
obj := []
for j, day in Days
{
abb := SubStr(day, 1, len)
obj[abb] := (obj[abb] ? obj[abb] : 0) + 1
if (obj[abb] > 1)
{
len++
break
}
}
if (prev = len)
break
prev := len
}
return len
}</lang>
Examples:<lang AutoHotkey>data := "
(
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
 
Sondag Maandag Dinsdag Woensdag Donderdag Vrydag Saterdag
E_djelë E_hënë E_martë E_mërkurë E_enjte E_premte E_shtunë
Ehud Segno Maksegno Erob Hamus Arbe Kedame
Al_Ahad Al_Ithinin Al_Tholatha'a Al_Arbia'a Al_Kamis Al_Gomia'a Al_Sabit
)"
 
for i, line in StrSplit(data, "`n", "`r")
{
line := RegExReplace(line, "\s+", " ")
len := AutoAbbreviations(line)
abbrev := ""
for j, day in StrSplit(line, " ")
abbrev .= SubStr(day, 1, len) " "
result .= len " > " abbrev "`n"
}
MsgBox % result
return</lang>
{{out}}
<pre>2 > Su Mo Tu We Th Fr Sa
0 >
2 > So Ma Di Wo Do Vr Sa
4 > E_dj E_hë E_ma E_më E_en E_pr E_sh
2 > Eh Se Ma Er Ha Ar Ke
5 > Al_Ah Al_It Al_Th Al_Ar Al_Ka Al_Go Al_Sa </pre>
 
=={{header|AWK}}==
299

edits