Scheme语言中的string-map是什么?有什么作用?
关于Scheme中string-map的解释
string-map是Scheme标准内置的高阶字符串处理函数,逻辑和列表常用的map函数同源,专门用于对字符串中的字符做批量映射转换。
基本用法
通用调用规则为:
(string-map 转换函数 输入字符串1 输入字符串2 ...)
- 传入的输入字符串数量需要和前面转换函数接收的参数数量一一对应:如果只传1个输入字符串,转换函数就只需要接收1个字符参数;如果传2个输入字符串,转换函数就要接收2个字符参数,分别取两个字符串对应位置的字符传入。
- 函数执行时会按顺序遍历所有输入字符串的每个字符位置,把对应位置的字符传给转换函数得到结果,最终把所有位置的结果按顺序拼接成新字符串返回,不会修改原输入字符串。
结合示例代码说明
你给出的RNA转换代码里的调用是(string-map convert-nucleotide dna):
- 这里只传入了1个输入字符串
dna,所以对应的convert-nucleotide只需要接收1个核苷酸字符参数 - 运行时会逐个取出
dna里的每个字符,交给convert-nucleotide做碱基配对转换 - 所有转换后的U/A/G/C字符按原顺序拼成新的RNA字符串作为返回值
你可以用简单的调用测试理解效果:比如执行(string-map char-upcase "test"),得到的返回结果就是"TEST"。
内容的提问来源于stack exchange,提问作者Minh Tran
相关产品推荐
相关产品推荐

