問題タブ [elm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
markdown - Elm で Markdown を使用する方法: [markdown| または [マークダウン |?
これが私のコード スニペットです: http://www.share-elm.com/sprout/53d242e2e4b07afa6f9834a2 elm-lang.org の例に触発されました。
Daring FireballやStackOverflow自体のように、マークダウン自体には精通しています。ただし、Elm 内から Markdown を使用する方法についていくつか質問があります。Elm のドキュメントが見つかりませんでした
- とは
[markdown|どういう意味ですか?[markdown |スペースに注意してください - が受け入れられないのはなぜですか? #Hello World大きく見えないのはなぜ?このように大きく表示されるはずです
こんにちは世界
これは修正された例ですが、何が正しいのかわかりません。
のように、文字列の使用も間違っているようです[markdown| "# Hello World" |]。なぜこれが間違っているのですか?
私の文が文字列であることを Elm に思い出させた方が安全だと思ったのですが、そうする必要はないようです。そしてすべきではありません。
random - Elm - 時間とともに変化する乱数のリストを作成する
毎秒変化する乱数の列を作成しようとしていますが、別のエラー メッセージが表示されます。
解析エラーが発生します。角括弧の何が問題になってい[ますか?
インデント
インデントすると、例はコンパイルされますが<signal>、実際の数値の代わりに取得するだけです
lift信号用?
最後に、使用しようとするliftと、他の混乱が生じます
エラー メッセージは、 の型が間違っているというものですlift。
flow downリストだけじゃない
フローダウンを忘れると、まだ協力しません:
_List予期されていたエラー メッセージが表示されます。
?
私はRandom.range正しく使用していますか?元の例から変更していません。
liftおよび と連携させるにはどうすればよいflow downですか?
html - HTML レイアウト: Elm Web ページでの [Element] と [Signal Element] の混合
私は読んflow downでいますが、Web サイトで要素を垂直に積み重ねることができると思われます。Web サイトの一部がシグナルである場合、どうすればよいでしょうか? 私は次のような Web サイトを想像します。
- 序章
- 動的コンポーネント
- より静的なテキスト
のタイプなflow down: [Element] -> Elementので、好きなように混ぜることはできません[signal Element]。以前のソリューションでは、以下を含むソリューションを見ましliftた。
ここでは、ランダムに変化する数字の上に数字の 5 を積み重ねるだけです。ウィンドウサイズにもよるのかもしれませんが、
これは良い習慣と考えられていますか、それともElmでレイアウトを行うためのより良い方法はありますか?
functional-programming - 「foldp」は FP の不変状態の原則に違反していますか?
私は Elm についてSeven More Languages in Seven Weeksから学んでいます。次の例は私を混乱させます:
foldpと定義されている:
私には次のように見えます:
- アキュムレータの初期値は、最初の評価時
pressesのみです。0main - の最初の評価の後、の初期値は function の結果、または例では、前の評価であった
mainものと思われます。presses(a -> b -> b)(\dir presses -> presses + dir.x)
これが実際に当てはまる場合、これは関数型プログラミングの原則に違反していませんか? main は現在内部状態を維持している (または少なくとも維持foldpしている) からです。
foldpコード内の複数の場所で使用する場合、これはどのように機能しますか? 使用するたびに 1 つずつ、複数の内部状態を保持しますか?
私が見る唯一の他の選択肢は、foldp(例では)0からカウントを開始する、つまり、評価されるたびに、によって提供される履歴全体を何らかの形で折りたたむことKeyboard.arrowsです。これは非常に無駄が多く、長い実行時間でメモリ不足の例外が確実に発生するように思えます。
ここで何か不足していますか?
list - エルム選別と【比較】
Elm をソートするとき、どのソートアルゴリズムが使用されListますか?
[comparable]タイプとは何numberですか?
が Elm でどのように実装されているかを理解するのに良い時期かもしれませんが、List今はあまり深く掘り下げるつもりはありません。起動して実行するだけです。
polymorphism - Elm で共有部分構造を持つレコードを処理する
基本的に次のように構成されたレコードタイプがいくつかあります。
今、私はこれらのいずれかの混合リストを作成し、そのBody部分でいくつかの操作を実行したいと考えていますが、それでも特殊なケースの処理BoxなどをBubble行います。たとえば、(実装は省略):
私はしたいと思います
しかし、Elm はリスト内の型に互換性がないと判断するため、これは失敗します。
Boxこれで、次のようにes とBubbles を ADT でラップできます。
しかし、その後、すべてのケースでアンラップとリラップを行う必要があります。混合リストでフォールドしたい場合は、さらに厄介になります。例はこの要点にあります。
この状況を処理するよりエレガントな方法はありますか?
list - elm リスト内包表記、リストの n 番目の要素を取得する
Elm でルービック キューブのシミュレーションを実行しようとしていたときに、Elmがリスト内包表記をサポートしていないことに気付きました。Haskell または Python でさえ、次のように記述します。
Elm では方法が見つかりませんでした。私が書かなければならなかった実際のリスト内包表記は (Haskell で):
にfromIntegral :: (Integral a, Num b) => a -> b変わりIntegerますNum。
Elm では、配列を使用しようとしました。
そして、私はMaybe型に問題を抱え始めました:
実際、私はそれらが何であるかを調べなければなりませんでした。多分を回避する代わりに、リストで何かをしました:
それが効率的か正しいかはわかりませんが、私が試したケースではうまくいきました。
私の主な質問は次の2つだと思います。
- Elm はリスト内包表記をサポートしていますか? (私はちょうど使用すると思います
map) maybe配列の例で型を回避する方法は?head ( drop n x)リストの n 番目の要素を取得するために呼び出すのは効率的ですか?
json - フォームから JSON へ
サーバーに送信するために JSON に変換したい HTML フォームがあります。フォームの値を JSON 文字列に変換できる単純なメカニズムがライブラリにあるように思えますが、これを行うためのライブラリはありますか?