所以我一直在研究哑炮试图设置东西,但我有点卡住了,我不知道问题是什么。
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
这种幼稚的方法在大多数情况下应该有效。