使用Haskell图形库

x33g5p2x  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(176)

如果我有一个DotNode,它的UnknownAttribute名为“consumpts”,那么我以后如何访问它,以获取在构建图时设置的“consumpts”的值?
我试着在源代码中查找getter函数,但是没有找到任何getter函数。
更新:以下代码用作访问属性的方法。

consumes :: Attributes -> [TL.Text]
consumes = foldl f []
             where 
               f b a = case a of
                         UnkownAttribute "consumes" t -> b <> TL.words t
                         _ -> b <> []

可通过以下方式调用:

consumes (nodeAttributes n)
p4tfgftt

p4tfgftt1#

您可以使用以下函数:

  • nodeAttributes :: DotNode -> [Attribute]
  • isSpecifiedCustom :: Text -> Attribute -> Bool
  • customValue :: Attribute -> Text

您可以按如下方式合并它们:

getConsumes :: DotNode -> [Text]
getConsumes n = 
  map customValue 
    (filter (isSpecifiedCustom "consumes") 
      (nodeAttributes n))

您可能需要考虑如果在同一个节点上有多个“consumes”属性会发生什么情况。

相关问题