直接在 Ruby 代码中从 excel 中提取游戏图标数据



所以我一直在研究哑炮试图设置东西,但我有点卡住了,我不知道问题是什么。

text str: deck['Power'], layout: :PowerText

是从 excel 文件中提取文本并将其放置在卡片中的简单方法,并且

svg data: GameIcons.get('capitol').
                recolor(fg: '000000', bg: 'FFFFFF').
                string, layout: :PowerIcon

从游戏图标网站中提取国会大厦图像并将其直接嵌入卡片中。所以直到这一点,一切正常。

但是,当我尝试在 excel 文件中编写要拉取的图标并调用它时,它不起作用

svg data: GameIcons.get(deck['Power']).
                recolor(fg: '000000', bg: 'FFFFFF').
                string, layout: :WarIcon

在 excel 文件中,我在 Power 下的每个单元格中都写了 capitol,它应该像文本 str 一样将其嵌入到代码中:但最终它返回错误:

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/game_icons-0.41.0.20171021/lib/game_icons/finder.rb:22:in `not_found': game_icons: could not find icon '["capitol", "capitol", "capitol", ... and so on

有人可以指出我这里可能存在的问题吗?

如果你一直遵循哑炮指南,deck['Power']是一个字符串数组。 GameIcons.get 接受单个字符串作为参数。 您需要单独对阵列成员进行操作。 一个天真的方法是使用 map,如下所示:

powerIcons = deck['Power'].map( |power| GameIcons.get(power).string)
Squib::Deck.new ... do
    ...
    svg data: powerIcons
    ...
end

这种幼稚的方法在大多数情况下应该有效。

最新更新