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

Ruby中如何实现字母镜像转换 如A对应输出Z

哈希实现字母镜像转换方案

你当前手动枚举键值对的写法适用于仅需要部分字母转换的场景,代码如下:

converter = {
  "A" => "Z",
  "B" => "Y",
  "C" => "X",
  "D" => "W"
}

如果需要覆盖全部26个大写字母,不需要逐个手动填写,可以用动态生成的方式更高效:

converter = ('A'..'Z').zip(('A'..'Z').to_a.reverse).to_h
  • 实现逻辑说明:
    • ('A'..'Z') 生成A到Z的大写字母范围序列
    • .reverse 将字母序列倒序排列为Z到A
    • zip 方法将正序、倒序的字母按位置一一配对
    • .to_h 将配对好的二维数组直接转换为哈希结构
  • 调用方式:直接取哈希对应键的值即可,例如converter['A']会返回Z,converter['Z']也会返回A,天然支持双向镜像匹配。

如果需要支持小写字母的镜像转换,可以单独生成小写字母的哈希再做合并:

# 生成大写+小写全量镜像哈希
upper_converter = ('A'..'Z').zip(('A'..'Z').to_a.reverse).to_h
lower_converter = ('a'..'z').zip(('a'..'z').to_a.reverse).to_h
converter = upper_converter.merge(lower_converter)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 22:09:01