You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia中使用嵌套fill创建二维字符串数组失效该如何解决?

你遇到的问题根源是fill方法在填充非基本类型元素时,只会执行一次传入的对象生成逻辑,外层数组的所有元素都指向同一个内层字符数组实例,因此修改任意子数组的元素会同步影响所有子数组。

可用替代方案

  • 如果你需要保持「数组的数组」结构(也就是mask[y]可以直接拿到一整行的字符数组),用列表推导式生成即可:
mask = [fill(' ', maxx) for _ in 1:maxy]

这种写法每次迭代都会生成一个新的独立内层数组,互相不会影响,后续可以继续用mask[y][x] = '·'的方式赋值。

  • 如果你不需要单独提取整行数组,直接用二维字符数组更简洁,性能也更好:
# 初始化maxy行maxx列的空格字符二维数组
mask = fill(' ', maxy, maxx)

赋值时直接用二维索引即可:

mask[y, x] = '·'

内容的提问来源于stack exchange,提问作者fuenfundachtzig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:36:04