問題タブ [imperative-programming]
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.
rust - ツリーの印刷 — フィールドへのアクセスを試みましたが、その名前のフィールドは見つかりませんでした
私は最初の Rust プログラムを書こうとしています。画面に単純なツリーを印刷したいのですが、value
プロパティにアクセスできません。
エラー 1 は
value
type のフィールドにアクセスしようNode
としましたが、その名前のフィールドが見つかりませんでした c:\users\zhukovskiy\documents\visual studio 2013\Projects\rust_application1\rust_application1\src\main.rs 21 20 rust_application1
oop - オブジェクト指向プログラミングは関数型プログラミングと互換性がありますか?
私は Java を教えられて育ち、人気のあるオープンソース CMS を使用して、ここ数年で多くの PHP を学び始めました。私は OOP の自然な感じがとても好きですが、最近になって関数型プログラミングの概念を発見しました。
「関数型プログラミング、宣言型プログラミング、命令型プログラミングとは何ですか? [非公開] 」という質問に対するrtpersonの優れた回答の中で、彼は次のように述べています。 "
彼の言いたいことは理解できると思いますが、それは厳密には本当ですか? OOP は関数型プログラミングと共存できますか?
parsing - 命令型言語の抽象構文木
一般的な命令型言語 (Java、C、Python、Ruby など) で使用できる抽象構文ツリー表現を探しています。これをできるだけソースに近づけたいと思います(LLVMのようなものとは対照的に)。Roseをオンラインで見つけましたが、C と Fortran しか処理できません。これは存在しますか?
java - Java における命令型アプローチと関数型アプローチの比較
指定されたageがある場合、特定のリストから人の名前を出力するメソッドがあります。このメソッドは、命令型の次に関数型のアプローチを使用して実装されます。
機能的アプローチ:
問題は、読みやすさの他に、これら 2 つのアプローチを他にどのように比較できるか、およびこれらの各属性の評価がどうなるかです。たとえば、メモリ フットプリントが大きいもの、オーバーヘッドが最小のもの、応答時間が長いものなどです。他にどのような属性 (つまり、機能以外の要件) について説明できますか?
haskell - さまざまなタイプの短絡によるステートフルな計算 (おそらく、どちらか)
私は、次のステートフルな命令型コードを純粋な関数表現に変換する最もエレガントな方法を見つけようとしています (Haskell では、Monad 実装が提供する抽象化を使用することが望ましいです)。ただし、トランスフォーマーなどを使用して異なるモナドを組み合わせるのはまだ得意ではありません。私には、そのようなタスクに対する他の人の見方を分析することは、自分でそれを行う方法を学ぶときに最も役立つように思えます. 命令コード:
get
戻るときはNothing
を続行するために実行が必要です。戻るときはput2
に渡して、失敗した場合にのみ短絡するか、それ以外の場合はループする必要があります。基本的に、全体を終了するか、次のステートメントに移動して、基になる状態を何らかの形で変更することができます。成功して呼び出してループするか、失敗して続行するかのいずれかです。get
Just x
x
put1
put1
put1
put2
get
put1
put2
私のアイデアは次のようなものでした:
そして、私がそのようなものを探していた理由は、何も返さないか終了する(get >>= put1)
たびに単純に短絡する可能性があるためです。同様に、外側のループを終了します。ただし、必要なものと混合する方法、および/またはこれを達成する方法がわかりません。get
put1
put2
State
Maybe
Either
トランスフォーマーを使用しState
て他のモナドを結合する必要があるため、コードはおそらくそれほど簡潔ではないと思います。しかし、それもそれほど悪くはないと思います。
翻訳をエレガントに実現する方法についての提案は大歓迎です。これは、、を使用した明示的な制御フローを回避する点で「さまざまなタイプのブレークを伴うステートフル ループ」とは異なり、 、、またはその他の便利なセマンティクスの使用を奨励しようとします。また、コードを機能的なものに変換する簡単な方法は常にありますが、それはエレガントとは言えません。if
when
while
Maybe
Either
>>=
java - 命令型 Java を関数型 Java に変換する (ゲーム)
私は Java 8 とその機能についてさらに多くのことを学んでおり、Java 8 を使ってもっと練習したいと思っていました。たとえば、画面の境界を円で囲むための次の命令コードがあるとします。
- それを「機能化」しようとするとどうすればよいですか?多分いくつかの疑似コード?可変性と状態は、この例に固有のもののように思えます。
- 関数型プログラミングはゲーム開発に適していませんか? どちらも好きなので、合わせてみました。