这句话吗?


54

您应该编写一个程序或函数,该程序或函数以4个字符的字符串作为输入,并输出一个值,该值指示该字符串是否为英语单词。您可以在提供的15%的测试用例中出错。

输入详细信息:

输入是4个字符的字符串,仅包含小写英文字母(az)。

输出详细信息:

如果输入英文单词,则应输出布尔值true或整数1

如果输入的不是英语单词,则应输出布尔值false或整数0

词表

4个字母的英语单词列表(2236个单词)

4个字母的非单词字符串(2236个字符串)列表

非单词列表包含统一随机生成的字母序列,其中已删除了真实单词。

测试中

您的程序或函数在给定单词列表上所犯的错误总数不应超过15%。这意味着您可以为4472个提供的输入中的670个提供错误的输出。

您也应该发布测试程序或功能,以便其他人可以检查您的答案。测试程序的时间不计入提交分数。

不允许出现标准漏洞

您的程序不应使用任何外部资源,例如访问Web或从文件读取。

这是代码高尔夫球,因此最短的程序或函数会获胜。


4
该数组必须是代码的一部分。(我猜)。@randomra-注意您不能从任何地方读取/访问单词列表。–
优化者

3
@BryanDevaney,您应该只硬编码列表中的85%
dwana

1
@TeunPronk是的。
randomra

2
@Sparr还有其他方法可以解决
Sp3000,2015年

5
甚至是一个字吗?” 是。[<-4个字符]
chucksmash

Answers:


62

Ruby,29个字节

->s{!s[/[^aeiou]{3}|[jqxz]/]}

希望我做对了-这是我第一次使用Ruby编程。我实际上用Python进行了所有测试,但是import re对我来说太长了。

这是一个匿名函数,它接收字符串并相应地输出true/false。它使用正则表达式来查找以下两件事之一:

  • 连续三个辅音
  • 包含以下内容之一 jqxz

如果存在以上任何一种,我们会将输入分类为单词。

该函数匹配2030个单词(错误地在206上失败)和1782个非单词(错误地匹配454)上失败,总共有660个错误分类。经ideone测试

感谢@MartinBüttner对Ruby的帮助。Martin还指出,完整的程序占用相同数量的字节:

p !gets[/[^aeiou]{3}|[jqxz]/]

也要感谢user20150203简化了正则表达式。


Ruby 1586 1488 1349 1288 1203字节

作为奖励,这是一个具有更长正则表达式的函数:

->s{!s[/[^aeiouyhs]{3}|[^aeiouy]{4}|q[^u]|^x|^[bdf][^aeioulry]|^[cgkprtwy][mfdsbktjgxpc]|^a[aoz]|^e[hf]|^i[ea]|^o[ecy]|^u[^ltnspgr]|[bdgktyz][cgmpw]$|[fhpvx][^aieoflnrsty]$|eh$|i[iyh]|[wkybp]z|[dghz]t|[fjzsv]y.|h[ns].|ae.|y.?[yifj]|[ejo]..[iuw]|[inv]..[gpuvz]|[eu].[jqwx]|[vyz][^t][fhmpqy]|i[^ae][fjqrv]|[ospen].?j|[ceg][iuy][ghkoux]|[bcpx]f|[hnuy]w|[ghnw]b|[txz]n|[jk]r|.[fjuyz]u|[hnt]ia|lsy|.p.o|.l.l|.tas|zal|f.p|eeb|wei|.sc.|.pl|yat|hov|hab|aug|v.re|aba|ohu|ned|s.dd|uc$|nux|oo$|dgo|lix|wua|v.o|vo$|ryo|wue|dk|oic|yol|.tr|yrb|oba|ruh|c.ls|idd|chn|doy|ekh|tk|lke|asl|cir|eez|asc|uil|iou|m..p|awt|irp|zaa|td|swk|ors|phe|aro|yps|q.e|ati|ibt|e.mo|we.y|p.de|ley|eq|tui|e..g|sps|akh|dny|swr|iul|.t.t|.tao|rcy|.p.y|idi|j.o|.kl|oms|ogi|jat|.lis|mye|uza|rsi|.ala|ibo|ipi|yaa|eun|ruy|wog|mm$|oex|koi|uyn|.hid|osc|ofe|w.op|auc|uzy|yme|aab|slm|oza|.fi|bys|z.e|nse|faf|l.h|f.va|nay|hag|opo|lal|seck|z.b|kt|agl|epo|roch|ix.|pys|oez|h.zi|nan|jor|c.ey|dui|ry.d|.sn|sek|w.no|iaz|ieb|irb|tz.|ilz|oib|cd|bye|ded|f.b|if$|mig|kue|ki.w|yew|dab|kh.|grs|no.t|cs.|.n.m|iea|y.na|vev|eag|el[uz]|eo[dkr]|e[hlsu]e|e[dho]l|eov|e[adp]y|r[grt]u|yn[klo]|.[^ilv].v|s[bdgqrz]|m[dfghrz]|[vpcwx]{2}|^[hjlmnvz][^aeiouy]|^[drw]l|l[hnr]/]}

我想证明正则表达式仍然可以克服压缩问题,因此该正则表达式可以正确区分每种给定的情况。正则表达式本身有点像指数衰减-前几位匹配很多非单词,然后每一位匹配的单词都越来越少,直到我放弃,最后将剩下的(大约200个)串联起来。有些人离开了那些看上去出奇的像真正的单词(如chia一个字)。

我把regex扔到我的regex高尔夫清洁器上,这是我写的另一个挑战-在我不得不尝试手动整理东西之前,它大约打了300个字节。高尔夫还有很多。


1
user20150203(缺少评论的代表)在一次编辑中基于以下讨论提出了以下建议:“由没有信誉的新用户编辑:->s{!s[/[^aeiou]{3}|[jqxz]/]}只有29个字节,匹配2030个字(错误地在206上失败),而在1782年失败,失败字(错误匹配454),总共有660个错误分类。”
马丁·恩德

太奇怪了,我以为我已经测试过删除每个字符了-一定已经忘记了v。谢谢user20150203!
Sp3000

@ Sp3000您是否授权我使用正则表达式来回答我的问题?我会以信誉为您(如果可能的话),所有的功劳都会在答案中指出。
Ismael Miguel

@IsmaelMiguel难道只是一种语言,为正则表达式匹配编写函数要短得多吗?如果是这样,我承认我有点好奇...(这样我就可以下次偷它了!)
Sp3000

@ Sp3000不短。但是我只想发布一些东西。自从我在这里发布任何内容以来已经很长时间了。这将使我的知识有所扩展。因此,对我来说这是双赢的局面。如果可能的话,我会给您一些声誉,因此,这对您来说也是一个胜利(可能)。
伊斯梅尔·米格尔

13

Groovy,77 74

x={it==~/^(?!.+[jq]|[^aeiou][^aeiouhlr]|.[^aeiouy]{3}|.[x-z])|^s[cknptw]/}

我用Java编写了测试程序,您可以在Github的Gist中找到该程序。这是我的测试程序的输出:

Good: 2135 1708
Bad: 101 528

(629个测试用例失败)

PS:我认为这很快将结束正则表达式高尔夫问题。

如果将Sp3000的答案(该函数)转换为Groovy,则最终将获得相同的字符数。作为命名函数:

x={it!=~/[^aeiou]{3}|[jqxz]/}

或未命名的函数:

{i->i!=~/[^aeiou]{3}|[jqxz]/}

它只能失败335案件;),但仍相当整洁,虽然
特恩·普龙克

这感觉很不对劲,但它确实有效^^
dwana

@TeunPronk:(2236 + 2236)* 0.15 = 670.8。因此您可能会失败670。我想您已经忘记正确地对非单词进行分类了。“你的程序或函数在给定的单词列表应该不超过15次%的失误在一起。” (重点是我的)
尼尔·斯莱特

@NeilSlater Aah,是的,我只考虑了正确的答案。我的坏^^
Teun Pronk

9

Javascript,1626字节:

我想寻求一种解决方案,该解决方案针对每个角色都有可能会追随的线索。不是那么短,但是没有正则表达式,效果还不错(单词:101个错误,非单词,228个错误)

v=function(w){var g={a:{b:3,c:4,d:4,m:6,f:1,r:14,g:4,i:6,x:2,k:2,l:10,n:12,s:6,p:4,t:7,u:2,v:3,w:3,y:3,h:1,z:1},b:{b:3,a:19,e:19,y:3,l:6,o:17,u:12,i:9,s:9,r:6},e:{d:7,l:8,t:4,s:10,n:11,e:10,r:10,c:2,x:2,w:4,a:13,f:1,p:2,g:2,v:1,b:1,m:3,u:1,i:1,k:1,y:2},l:{e:16,y:5,a:16,b:1,f:2,l:12,m:2,o:14,p:1,s:2,u:8,d:4,i:10,k:3,t:5},o:{s:7,g:3,e:3,k:3,n:10,m:4,p:5,w:6,b:3,c:2,t:6,a:5,d:5,h:1,i:2,l:8,o:9,r:8,u:4,y:2,v:2,z:1,f:2,x:1},u:{t:8,e:5,m:7,s:11,a:2,n:13,r:15,d:6,c:4,f:1,g:5,l:9,y:1,z:1,b:5,j:1,x:1,p:2,k:1,i:2},c:{e:9,h:12,i:2,r:6,t:3,o:20,k:15,a:16,l:6,u:8,y:1},h:{e:21,r:2,a:22,i:15,o:20,u:15,n:3,l:1,y:1},i:{d:8,m:5,n:18,r:7,a:2,s:8,v:2,l:13,t:10,b:1,e:6,k:2,p:5,g:3,c:6,o:2,f:2,z:1},m:{e:19,s:8,a:21,i:12,m:1,o:15,y:2,b:4,p:8,n:1,u:8},n:{e:18,u:3,a:9,d:10,n:4,o:7,s:11,t:11,g:10,k:6,i:5,y:2,c:1},r:{e:18,s:4,y:4,a:16,c:1,g:1,i:12,m:3,p:2,t:4,b:1,d:4,k:4,n:5,r:2,o:11,l:2,u:6,f:1},t:{a:14,s:17,e:18,i:9,o:15,h:10,t:3,y:2,c:1,z:1,u:5,r:5,w:2},d:{a:14,d:4,s:10,e:22,y:8,i:12,o:14,r:4,u:10,l:1},f:{a:16,f:6,e:12,y:1,i:14,l:13,o:16,r:7,u:7,t:7,n:1,s:1},g:{a:16,e:12,o:17,u:7,s:18,g:1,y:2,i:8,l:4,n:2,h:3,r:9,w:1},j:{a:25,i:7,e:14,o:25,u:29},k:{i:23,s:6,e:41,u:6,a:10,l:2,n:8,o:2,h:1,y:1},p:{s:12,e:20,a:19,y:2,i:13,t:2,u:10,l:5,o:13,r:4},s:{o:8,i:8,e:13,k:6,h:10,s:8,t:14,y:1,p:5,c:2,l:6,a:10,m:1,n:2,u:4,w:2},v:{a:18,e:47,i:22,o:8,y:6},y:{l:4,e:18,s:20,d:3,n:8,r:8,t:4,a:14,k:1,m:1,o:8,x:3,p:3,u:4,v:1},q:{u:100},w:{a:24,e:17,l:4,r:3,s:10,n:6,y:2,k:1,d:1,t:1,i:17,u:1,o:10,h:4},x:{e:35,i:18,l:6,o:6,a:6,t:12,y:18},z:{z:10,y:10,a:3,e:43,r:3,o:17,i:10,u:3}},p=1,x,y,i=0;for(;i<3;){x=w[i],y=w[++i];p*=g[x]&&g[x][y]||0}return p>60}

这是一个可行的实现http://fiddle.jshell.net/jc73sjyn/

简而言之:对象g保存从a到z的字符(作为键),并且对于每个字符,都有一组字符(也作为键),每个字符表示可能要跟随的字符,以及其概率百分比。没有对象的地方就没有可能性。

将3个分数(4个字母-> 3个评估)相乘,将分数等于或大于60的单词视为真实单词。

示例:对于“应付”一词,有三个查询:

g [c] [o] = 20

g [o] [p] = 5

g [p] [e] = 20

score = 20 * 5 * 20 = 2000,该值大于60,因此有效。

(我对javascript很陌生,所以也许有一些方法可以缩短它,我不知道。)

后期编辑:

到现在为止完全无关紧要,但是我评估了获得更正确g的方法:

g={a:{b:7,c:4,d:4,m:6,f:2,r:14,g:4,i:6,x:2,k:2,l:10,n:12,s:6,p:4,t:7,u:2,v:3,w:12,y:3,h:1,z:1},b:{b:10,a:19,e:19,y:3,l:6,o:17,u:10,i:9,s:9,r:3},e:{d:7,l:8,t:4,s:10,n:11,e:10,r:10,c:2,x:2,w:4,a:13,f:1,p:2,g:2,v:20,b:3,m:3,u:1,i:1,k:1,y:2},l:{e:16,y:5,a:16,b:1,f:2,l:12,m:2,o:14,p:1,s:6,u:61,d:1,i:10,k:3,t:5},o:{s:7,g:3,e:3,k:3,n:20,m:4,p:5,w:6,b:3,c:2,t:6,a:5,d:5,h:10,i:2,l:8,o:3,r:8,u:4,y:2,v:2,z:1,f:20,x:1},u:{t:8,e:5,m:7,s:11,a:2,n:13,r:15,d:6,c:1,f:10,g:5,l:9,y:1,z:1,b:5,j:1,x:1,p:2,k:1,i:2},c:{e:9,h:20,i:2,r:6,t:20,o:15,k:15,a:15,l:6,u:8,y:1},h:{e:21,r:2,a:7,i:15,o:20,u:15,n:10,l:0,y:1},i:{d:8,m:5,n:18,r:7,a:5,s:8,v:2,l:13,t:20,b:1,e:21,k:2,p:5,g:20,c:4,o:2,f:2,z:1},m:{e:10,s:8,a:21,i:12,m:1,o:15,y:2,b:4,p:2,n:1,u:8},n:{e:18,u:3,a:9,d:3,n:4,o:20,s:2,t:11,g:10,k:6,i:5,y:2,c:1},r:{e:15,s:4,y:4,a:16,c:1,g:1,i:12,m:3,p:2,t:4,b:1,d:4,k:4,n:5,r:2,o:11,l:2,u:20,f:1},t:{a:14,s:15,e:18,i:2,o:15,h:10,t:3,y:2,c:1,z:1,u:5,r:5,w:2},d:{a:14,d:4,s:10,e:61,y:8,i:12,o:7,r:3,u:10,l:0},f:{a:5,f:6,e:12,y:1,i:3,l:13,o:16,r:7,u:20,t:4,n:1,s:1},g:{a:16,e:12,o:17,u:7,s:18,g:0,y:2,i:8,l:3,n:2,h:3,r:9,w:1},j:{a:8,i:7,e:14,o:5,u:29},k:{i:3,s:20,e:41,u:6,a:10,l:20,n:8,o:2,h:1,y:1},p:{s:12,e:20,a:5,y:2,i:13,t:4,u:10,l:3,o:13,r:4},s:{o:8,i:8,e:13,k:6,h:10,s:8,t:14,y:1,p:5,c:2,l:2,a:10,m:2,n:6,u:8,w:2},v:{a:10,e:20,i:22,o:6,y:6},y:{l:6,e:15,s:20,d:3,n:8,r:8,t:4,a:4,k:1,m:1,o:3,x:3,p:3,u:1,v:1},q:{u:100},w:{a:24,e:17,l:4,r:2,s:3,n:6,y:20,k:1,d:1,t:1,i:17,u:6,o:10,h:20},x:{e:35,i:6,l:3,o:6,a:6,t:3,y:7},z:{z:10,y:10,a:3,e:43,r:1,o:8,i:7,u:1}}

新结果:

单词:53个错误,非单词:159个错误

http://fiddle.jshell.net/jc73sjyn/2/


我还要补充一点,这些数字是通过对2236个正确单词的评估得出的。对于每个字母,我只需计算每个继任者的四舍五入百分比。我考虑对错误的单词执行相同的操作,并以某种方式减去它们,但是我认为这样做会使评估变得不太聪明,而更多地利用有限的错误单词集。
亨里克·克里斯滕森2015年

2
我设法尽力减少了您的代码。我已经吃了大约80个字节。不多,但是更小。这是代码:pastebin.com/fkPW0D92。我已经替换了重复超过3次的所有数字,但仍然消除了for循环中的大量膨胀。
Ismael Miguel

忘了提及:它仅在Firefox / Firebug控制台上有效。这使用新的ES6大箭头表示法创建函数。您可以替换w=>function(w),它将对所有浏览器都适用。
Ismael Miguel

6

Python 2,5254字节

此解决方案将好话分为两半。查找首先检查前2个字符以找到正确的字符串,然后在该字符串中查找后2个字符。不是很紧凑,但是写起来很快。此方法匹配每个单词而不会出错。

d='''gwenyn
guamlflllpmsnsrushsttsys
grabadamayegeweyidiminipisitowub
gyro
gearldlsmsnentrmts
gagsilinitlellltmengpepsrbryshspteulvewkze
goadalatbidsesffghldlfnengodofreryshtoutwn
gnataw
gladeeenowueut
giftldllltnannnonsrdrlrtstve
wrapenit
leadafakanaparekeresftgsnandnsntonsssttsvivywd
labsceckcydsdygsidinirkembmempnandnengospsrdrkrsshssstteuevawnwsyszy
loadafanbecickebftgogsiniskilambmenengokomonopotrdresesssttsudutvewews
tubebsckftgsnerfrn
trapayeeekimioipodotoyueuk
liarceckdsedeneseufeftkelalymambmempndnenkntonpssasespssstve
toadbyddesgoilldllmbneninsokolpsrernrysstourwnys
luckcyiskellmpndngrarerkshsttetz
thaianataweaemeneyinisorudugus
tickdedyedereslellltmemsnansntnypsretots
teamarasemenllndnsntrmssstxt
lylennnxonrare
dockdderesgegslellmenensomorperasetetsugvewnze
typepo
yokerkstur
dialcedoedemesetgskellmemsnengntonpsrertscshskve
yagilenkrdrnwn
deadafalanarbtckedemeperfyllmonsntnyskuswy
yearaslllp
dadadedshllelilymemnmpmsnanererkrnrtshtatevevywnysze
dyadedereskene
dualbsckctelesetkelllymbmpnengnknnpeskstty
drabagamawewipopugum
yves
yubakiri
quadayipitiz
iranaqesisksmaon
emilitma
elbakslamsse
endsidosvy
eire
zincon
ekedes
eels
eddyengeitna
egangsos
eachrlrnrprssestsyts
echo
ebbsen
eyederes
examecit
ezra
etch
ewenes
eveneril
wokelfmbngntodofolosrdrerkrmrnve
epic
espy
erasgoicieikisneosrs
rubebsbydedygsinlempngnsntshssstthts
ryan
readalamapardodsedefelidinlymynandnenontstub
raceckftgegsidilinkemompmsndngnkntpepsptreshsptetsulveysze
itchelem
roadamarbebsckdedslellmempofokomotpesasesssythtsutvewewsxy
rhea
ribscacechckcodedsftgagsllmemsndngnkotpepsscsesktetz
beadakamanaratauckdsefeneperesetgslallltlyndntnzrnrtsssttatsvy
weakanarbbbsdsedekephrldllntptrestts
babebychckdegsilitjakekuldlelilklllmndnengnknsrbrdrerkrnrrrsrtseshskssthtsudwlys
wacodeftgegshlilitkelkllltndnengntrdrermrnrprsrtryshspvexyys
blabedewipobocotowueumur
juandddedodygslympnengnknorareryst
boaratbscadedyergshrilisldllltmbndnengnnnyobokomonorosotrergrnsessthutwlwsydys
biasbsdedsenerkelelkllndngninsrdtets
wickdeerfegsldlellltlyndnengnknspereryseshspthtstt
whatenimipitizom
buckdddsffgslblkllmpmsnknsntoyrlrnrprrrtryshssstsyttyszz
joanbsdyelesgshninkeltsetsveys
jigsll
braeaganasatayedewieigimowyn
jeaneperffrksttsws
byrdte
wynn
ooze
onceeslytousyx
omanenit
olafavdyeggain
okay
oilsly
ohio
offs
oddsesinor
obeyoe
oaksrsthts
ivan
stabaganarayemepewiropowubudunyx
oxen
owedeneslsns
ovalenerid
ouchrsstts
otisto
oslo
oralesgyinly
opalecelentsus
vialcedaederesetewlenesatato
citety
chadaoaparatefenewicinipitopouum
coalataxbbcackcodedyedgshnilinkeldleltmbmeneokolonoppepspyrdrerkrnstsytsvewlwszy
cladamanapawayioipodogotubueuj
cabsdyfegeinkelflllmmempnensntpepsrdrerlrprrrsrtseshsksttsve
cedellltntrn
czar
cyst
zoneomosrn
crabagamayeeewibopowuduxuz
cubabebsedesffllltpsrbrdrerlrsrtsptets
vealdaergailinlannntrarbrnrystto
prayepeyimodoposow
pubsffghkelllpmampnsntnypapsrerrshsststt
smogugut
pylere
jabsckdeilkemsnersvawszz
paceckctdsgeidilinirlelllmlolsnengnsntparcrerkrrrsrtsosssttethtsulvewnwsys
peakalarasatckekelepergsltndnhnnnsntrkrusttetsws
phil
picackcteresgskelellmpnengnknsntonpesassthtstttyus
isisle
planayeaodotowoyugumus
hydemn
hubsckeseygeghgollmempmsngnknsntrdrlrtshskts
hickdeghkellltndntpsresstsve
hoaresffgsldlelmlymemoneodofokopotpepipsrnsesturwewlyt
haagasckhnilirlelfllltmsndngnsrdrerkrmrprtshtetsulvewkyszezy
headalaparatbeckedelirldlllmlpmpmsnsrarbrdrerorrrsssws
meadalanateketltmondnsnureshsstatetsws
macechdeidiliminkelelillltmanennnsnypsrcrerkrsrtrxryshsksssttethtsttulwryayoze
utah
moanatbsckdeenhrldlellnankntodonorotpsrernssstthvews
micaceckenkeldlelkllmindneninkntpsraressst
upon
twasiginos
podsemetgokelelklllompndngnyolorpepsrerkrtseshsttsurut
muchckddffgsirlellngseshsksttettzo
ulan
undoitixixto
imps
ugly
tabsckctftgsilkelelkllmengnkospepsrartskssteutxi
myrath
illsly
vailinlenensrysestts
acesheidmeneretats
abbabebyedeletlelyosut
adamdsen
agaredeeeresogue
afar
aidadedsmsnursry
swabamanapatayimum
akin
ajarax
amenesidmookosyl
alanarasbaeceeexfagalymamsoepssoumva
analdyewnaneonsitetitsus
aqua
apedesexse
asiaks
arabchcocseaesgoidmsmypats
auntrato
atomop
awayedlsry
averidisivonow
ayes
axedeleresisleon
icedeson
ibexidis
ideaemlelyol
igor
ifni
niceckghlenaneps
usederes
noahdedselllneokonrarmseteun
nagsgyilirmepsrysashtetourvyzi
nealaratckedffilllonrosssttsvawswtxt
voidltsstews
zulu
nudellmbnsts
franauayedeeeteyogomye
urdugeisnssa
fueljillmendnkrsrysesszz
ionstawa
facectdegsilinirkelkllmengnsrermsttetsunwnze
fearatedelesetllltndrnssud
zealrostus
fiateffegsjilelllmndnenknnnsrermshsksttsve
flagakamapatawaxeaedeeewexipitogopowueux
foalamciesgsgyilldlkndntodolotrdrerkrmrtssulurwl
kahnlinentrlrptetz
incachdodyksnsto
keelenepmpntptrnrrys
kickdselevllndngnkrksstets
spanatecedinitotunur
kochng
kneeewitobotowox
subschckdsedesezitlkmsngnknsrerf
klanux
skewidiminipisitye
siamanckdeftghgnkhlkllloltmsnengnknspsrerstetstuvaze
shameaedinipitodoeopotowunut
soakaparbsckdadsfaftilldlelomengnsnyonotrertulupurwnya
snagapipobowubug
kudohnrdrt
slabamapatavayedewidimipitobopotowugumur
scabanarotowud
sackfegagegsidilkelelkltlzmenandnengnkpsrarishteudulvewsys
sealamanarasatctedekemenepereslfllmindntptrfthtswsxy'''
w=raw_input()
s=[t[2:] for t in d.split() if t[:2]==w[:2]]
print s and w[2:] in [s[0][i:i+2] for i in range(0,len(s[0]),2)]

5

C#WPF,110139

更短

bool F(string s){var t=new TextBox();t.SpellCheck.IsEnabled=true;t.Text=s;return t.GetSpellingError(0)==null;}

旧答案

public bool F(string s){TextBox t=new TextBox();t.SpellCheck.IsEnabled=true;t.Text=s;SpellingError e=t.GetSpellingError(0);return e==null;}

1
是否采用默认语言环境?:)
RobAu 2015年

@RobAu不确定,我第一次使用它。
bacchusbeale 2015年

您可以通过使用var和不引入变量来使其更短一些,除非必要。
lesderid 2015年

3

Word VBA,25字节

匿名VBE立即窗口函数,该函数将输入作为当前选择,如果是VBE立即窗口的布尔值,则将其输出。

?CheckSpelling(Selection)

测试仪功能

下面的功能用于针对测试用例测试以上功能。该功能失败的案例占总数的9.7%(实际单词为396,假单词为10)

i=0:For Each w In Split(Selection,vbcr):i=i-CheckSpelling(w):Next:?i" were recognized as words

2

Mathematica,33个字节

嘿,有人必须做!

Length[DictionaryLookup[Input[]]]

不言自明。


0

Javascript ES6,32个字节:

使用@ Sp3000答案中的正则表达式:

s=>!/[^aeiou]{3}|[jqxz]/.test(s)

这将创建一个匿名函数。要使用它,只需将其包裹起来()

例:

(s=>!/[^aeiou]{3}|[jqxz]/.test(s))('word')

这有恰好相同的失败率@ SP3000,并返回truefalse相应。

@ Sp3000的所有功劳,让我使用他的正则表达式。


@ Sp3000但是您将无法调用它。这与相同F = function(s) { return /[^aeiou]{3}|[jqxz]/.test(s) }
伊斯梅尔·米格尔

@ Sp3000我知道它可以工作,但是您必须花费更多的字节才能使用它。
伊斯梅尔·米格尔

@ Sp3000 DANG!距离缩短仅一步之遥:/谢谢您的提示。我已经更新了。
伊斯梅尔·米格尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.