首页 > 解决方案 > 我可以使用附加!在文字列表上?

问题描述

据我了解,在字面上使用set-car!or是无效的。set-cdr!

(define nums '(1 2 3))
(set-car! nums 10)  ; Invalid.

考虑到这一点,我可以使用文字列表作为 SRFI 1append!程序的参数吗?我之所以问这个问题,是因为除了最后一个参数之外的所有实现都append!可能使用. 如果在文字列表上无效,那么在文字列表上使用也是如此。我的想法正确吗?set-cdr!append!set-cdr!append!

给给的最后一个参数使用文字列表怎么样append!

案例:

标签: scheme

解决方案


如果系统将列表实现为纯函数数据,那么就不可能以方便的方式进行变异。因此,此要求不会强加 cons 单元的突变以允许纯功能实现有效(反之亦然,此类实现的存在会对定义要求产生影响)。


推荐阅读