函数定义
const truncate = R.when(
  R.propSatisfies(R.gt(R.__, 10), 'length'),
  R.pipe(R.take(10), R.append('…'), R.join(''))
);解释
- ** - R.when**:- R.when函数接受两个参数:一个谓词函数(predicate function)和一个处理函数(whenTrueFn)。
- 如果谓词函数返回 - true,则调用处理函数并返回其结果;否则,返回原始输入。
 
- ** - R.propSatisfies(R.gt(R.__, 10), 'length')**:- R.propSatisfies:检查对象的某个属性是否满足给定的谓词函数。
- R.gt(R.__, 10):检查某个值是否大于10。- R.__是Ramda的占位符,用于部分应用。
- 'length':指定要检查的属性是字符串的长度。
- 这个组合表示:检查字符串的长度是否大于10。 
 
- ** - R.pipe(R.take(10), R.append('…'), R.join(''))**:- R.pipe:将多个函数组合成一个函数,从左到右依次执行。
- R.take(10):取字符串的前10个字符。
- R.append('…'):在结果数组的末尾添加一个省略号字符。
- R.join(''):将字符数组连接成一个字符串。
- 这个组合表示:截取字符串的前10个字符,并在末尾添加一个省略号。 
 
工作流程
- 输入字符串:函数接受一个字符串作为输入。 
- 检查长度:使用 - R.propSatisfies检查字符串的长度是否大于10。- 如果长度大于10,执行 - R.pipe中的函数:截取前10个字符并添加省略号。
- 如果长度不大于10,返回原始字符串。 
 
示例
truncate('12345');         //=> '12345'
truncate('0123456789ABC'); //=> '0123456789…'- truncate('12345'):字符串长度为5,不大于10,返回原始字符串- '12345'。
- truncate('0123456789ABC'):字符串长度为13,大于10,截取前10个字符并添加省略号,返回- '0123456789…'。