如何在 Elm 中获取表单的宽度?

How do I get the width of a Form in Elm?

我正在尝试编写一个函数,它接受一个 Form 并将其三个副本排列成一个类似三角形的结构。例如,对绿色三角形执行此操作将产生三角力。我决定使用拼贴画是最好的方法。我无法根据表格的大小调整拼贴画的大小。它应该是表单的两倍宽和两倍高。

我能想到的最好办法是跟踪您用来创建表单的形状的宽度。一种方法是创建一个记录类型来保存每个表单,其宽度为:

type alias MyForm =
  {   form : Form
    , width : Int
  }

makeCircleForm: Float -> MyForm
makeCircleForm  r = {form: (filled grey (circle r)), width: (round 2*r)}

这会使您使用表单时更加麻烦,但至少您将拥有宽度。