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

在Dyalog APL中实现掩码向量与数据向量的合并需求

Dyalog APL 简洁实现方案

直接利用APL的向量式赋值特性,就能高效完成需求,无需复杂的矩阵或旋转操作:

a ← 'X--Y-Z' '--34--91' '-+-+'  ⍝ 掩码向量
b ← 'abcdef' 'hijklmno' 'stuv'  ⍝ 数据向量

c ← {temp ← ⍺ ⋄ temp[⍵≠'-'] ← ⍵[⍵≠'-'] ⋄ temp}¨b,a

代码解释

  • {...}¨b,a:对数据向量b和掩码向量a的每一对字符串执行内部函数
  • temp ← ⍺:复制当前数据字符串作为临时变量
  • temp[⍵≠'-'] ← ⍵[⍵≠'-']:生成掩码字符串的布尔索引(非-的位置为真),将临时变量对应位置替换为掩码的字符
  • temp:返回修改后的字符串

执行后得到的结果向量c与示例完全一致:'XbcYeZ' 'hi34lm91' 's+u+'

该方案的优势:

  • 纯向量式操作,简洁高效
  • 自动适配不同长度的字符串
  • 未使用正则或内置替换函数,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:22:46