【发布时间】:2020-01-29 21:54:15
【问题描述】:
我最近遇到了一个高尔夫 kata,要求检查一个字母是否为大写字母,是否不超过 9 个字符。
用户的回答有点吓人(这些例子也适用于 > 以相反的顺序):
f=s=>s<{}
f=c=>c<{}
f=_=>_<f
f=Z=>Z<f
一些变量名不适用于f:
f=a=>a<f
f=z=>z<f
在将函数与基本字符串进行比较时,< 和 > 运算符为何以及如何工作?也许指针比较?
自己试试吧:
// working
f1=s=>s<{}
f2=c=>c<{}
f3=_=>_<f3
f4=Z=>Z<f4
// not working
f5=s=>s<f5
console.log('f1', f1('A'))
console.log('f1', f1('a'))
console.log('f2', f2('A'))
console.log('f2', f2('a'))
console.log('f3', f3('A'))
console.log('f3', f3('a'))
console.log('f4', f4('A'))
console.log('f4', f4('a'))
console.log('f5', f5('A'))
console.log('f5', f5('a'))
【问题讨论】:
-
它只是用于和类似条件中的算术
-
spec里都有解释。
标签: javascript node.js javascript-objects