(从字面上看:“这是否遵循/实现了gismu -form?”)
前提
Lojban语言是一种构造语言,部分意味着其所有单词都是被创造的,而不是自然发展的。Lojban的语义基础是其gismu或词根词,它们是通过组合来自广泛使用的自然语言(如中文,印地语和英语)的词根而合成的。所有gismu的长度均为5个字母,并遵循一定的严格格式。
信息
就我们的目的而言,罗伊班字母是:
abcdefgijklmnoprstuvxz
也就是说,罗马字母不带hqwy
。
该字母可以分为四类:
元音
aeiou
辅音辅音
lmnr
清音辅音
ptkfcsx
。发出声音时,它们分别成为...浊辅音
bdgvjz
(没有对应的浊辅音x
。)
要成为有效的gismu,长度为5个字符的字符串必须:
在子音元音模式
CVCCV
或中CCVCV
,其中C表示辅音,V表示元音。遵循辅音匹配规则。
CCVCV单词的辅音匹配规则:
前两个字符必须构成以下48个对之一(源):
ml mr
pl pr
bl br
tr tc ts
dr dj dz
kl kr
gl gr
fl fr
vl vr
cl cr cm cn cp ct ck cf
jm jb jd jg jv
sl sr sm sn sp st sk sf
zm zb zd zg zv
xl xr
请注意,将其分为浊音对和浊音对时,效果会更好。特别地,每个浊音对都是有效的,前提是相应的浊音对有效。这不会扩展到与子音辅音对。cl
是有效的,但jl
不是。
CVCCV单词的辅音匹配规则(来源):
第三个和第四个字符必须遵循以下规则:
禁止两个辅音都相同[...]
禁止一个辅音发声而另一个不发声。辅音“ l”,“ m”,“ n”和“ r”不受此限制。结果,“ bf”被禁止,“ sd”也被禁止,但是“ fl”和“ vl”以及“ ls”和“ lz”都被允许。
禁止从集合“ c”,“ j”,“ s”,“ z”中提取两个辅音。
禁止使用特定的对“ cx”,“ kx”,“ xc”,“ xk”和“ mz”。
请注意,有179个可能的对。
挑战
确定给定的字符串是否符合gismu形成规则。这是代码高尔夫球,因此以字节为单位的最短解决方案为准。
输入:从Lojban字母开始的长度为5的字符串。
输出:一个truthy值如果字符串可以是gismu和否则falsey值。
测试用例
有效:
gismu
cfipu
ranxi
mupno
rimge
zosxa
无效:
ejram
xitot
dtpno
rcare
pxuja
cetvu
更多测试用例:此文本文件包含所有有效gismu,每行一个。
我不太了解Lojban,所以我怀疑标题翻译错误。感谢帮助。
s
和k
是语言的一部分,做什么的发音c
有?
j
不是发音为英语J,而是发音为法语J(开头没有爆破音。)从链接的页面之一中,The regular English pronunciation of “James”, which is [dʒɛjmz], would Lojbanize as “djeimz.”, which contains a forbidden consonant pair......[additional rule to avoid this]
我们看到需要添加爆破音D。法语J的版本确实是SH。IPA符号(对于那些了解它们的人来说)在Wikipedia页面上。