エルムのSVGモジュールでは、すべての属性にはString
型のパラメータが必要と思われます。これはおそらくDOMの観点からは意味があります。しかし意味的には、多くの属性は数値、特に座標、半径、幅などであり、アルゴリズムをアルゴリズムで生成するときに多く使用されます。エルムSVGコードの型変換の乱雑さを避ける方法
私の理解では、ElmにはScalaのような暗黙の記述がなく、その暗黙的な変換はうまくいっています。
一方、グラフィック生成コードをx <| toString <| myX
と混乱させたくありません。あまりにも多くの視覚的ノイズ。
は、私がこれまでにやっていることは、私はコードでx_ myX
を使用することができます
x_ = x << toString
y_ = y << toString
のような機能を持つモジュールを定義しています。
私が気付いていないよりエレガントなソリューションはありますか?
他の人はどのように対処していますか?仕様は最善のアプローチは、出力正しいことをするあなたを助けるユニットヘルパーのシリーズを作ることであろうさまざまな単位(ピクセル、センチ、など)
を可能とするため
'toString'を' s'でエイリアスするのは、実際にはこれらの 'x_'などの関数を書く前に行ったことです。私はまだ、複雑な機能ではあまりにも渋滞していることがわかります。特にブラケットやパイプが必要な場合にはそうです。ユニットについての興味深い点! – DCS
'x_'よりもエレガントかもしれない別のオプションは、' Svg.AttributesをSAとしてインポート 'し、' x = SA.x << toString'と書くことです。これらの定義をモジュール内で移動し、 'Svg 'の代わりにそれをインポートすることもできます。属性。 – pdamoc
それは素晴らしい考えです!これをコメントからあなたの答えに移すことをお勧めします。だから、今後の読者にとってはより顕著です。チェックマークはあなたのものです。 ;) – DCS