問題タブ [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.
c - 再帰的な二分木トラバーサルを反復に変換する
反復版を書くように頼まれましたが、再帰版を書きました。
私はコードを探しているわけではありません。これがどのように行われるかを理解したいのです。それが最後の再帰呼び出しだったら、私はそうしていただろう
しかし、再帰呼び出しが 2 つある場合、どのように反復プログラムに変換すればよいでしょうか?
ここに型定義があります。
これは私が考えたことです、私は正しい軌道に乗っていますか?
multithreading - 並列プログラミングの例で、疑似コード (アトミック アクション/きめの細かいアトミック性) で立ち往生
私の本は、私が少し混乱している簡単な例を示しています。
それは、「次のプログラムを考えて、きめの細かいアトミック アクションが変数の読み取りと書き込みを行っていると仮定してください」と述べています。
"x = y + z
レジスタに y をロードしてから z を追加することで実装されている場合、x の最終値は 0、1、2、または 3 になります。"
2? 2 はどのように機能しますか?
注: co は並行プロセスを開始し、 // は並列実行ステートメントを示します
programming-languages - 機能コードを命令コードに変換する標準化された方法はありますか?
JavaScriptコードからphpチェックを生成するための小さなツールを書いています.関数コードを命令コードに変換する標準的な方法を誰かが知っているかどうか知りたいですか?
私はこの論文を見つけました: Defunctionalization at Workでは、defunctionalization をかなりよく説明しています。
ラムダリフティングと非機能化はこの質問にいくらか答えましたが、データ構造についてはどうですか。リストをすべてリンクリストであるかのように解析しています。関数型言語のリンクリストを、C++ ベクトルや Java 配列リストなどの他の高レベル データ構造に変換する方法はありますか?
functional-programming - マウスイベントの処理を簡単にする方法は?
カスタマイズしたドラッグ アンド ドロップなどの機能を実装する必要がある場合があります。コードは次のようになります。
これがうまく機能することはわかっていますが、冗長な変数や、このようなものに対する個別の手順はまったく好きではありません。IP(命令型プログラミング)では、それは避けられないかもしれません。私の質問は、FP(関数型プログラミング)でこのようなことを処理するより良い方法はありますか? プログラミング言語、Lisp、Scheme、F#、Ruby など、または IP でこれを行うためのより良い方法に関係なく、アイデアや提案は大歓迎です。
scala - 命令型のスタイルがより適しているのはいつですか?
Scalaでのプログラミング(第2版)から、p.98の下部:
Scalaプログラマーのためのバランスの取れた態度
vals、不変オブジェクト、および副作用のないメソッドを優先します。最初に彼らに手を差し伸べてください。特定のニーズと正当性がある場合は、var、可変オブジェクト、および副作用のあるメソッドを使用します。
前のページで、vals、不変オブジェクト、および副作用のないメソッドを好む理由を説明しているので、この文は完全に理にかなっています。
しかし、2番目の文:「特定のニーズと正当性がある場合は、var、可変オブジェクト、および副作用のあるメソッドを使用してください。」あまりよく説明されていません。
だから私の質問は:
副作用のある変数、可変オブジェクト、およびメソッドを使用する正当化または特定の必要性は何ですか?
追伸:誰かがそれらのそれぞれについていくつかの例を提供できれば素晴らしいと思います(説明以外に)。
functional-programming - スキーム-関数型プログラミングに不可欠
関数型プログラミング(スキーム)を学び始めたところです。しかし、私はまだ「機能的に」考えるのに問題があります。
何かのようなもの:
そこには状態変化があるので、それは命令型プログラミングです。
「if」の部分を別の関数にスローすると、それは機能的になりますか?
これがすべてなのか?
ありがとう!
oop - 命令型プログラミングにおけるオブジェクトの制約を表す専門用語
これには専門用語があることは知っていますが、私の人生では覚えていません。
クラス (または関数とデータを含む何らかのもの) を設計するときは、オブジェクトのメソッドを呼び出すたびに、オブジェクトのデータを一貫した状態にしておく必要があります。「一貫性がある」とは、[X] と呼ばれる一連の (うまくいけば文書化され、通常はプログラムされていない) 制約に従うことを意味します。
scheme - スキームでリストに名前を付ける
私はSchemeで配列のようなデータ構造を作ろうとしていますが、それを頻繁に参照する(そして変更する!)必要があるので、それに名前を付けたいと思っています。しかし、私がさまざまなチュートリアル サイトで読んだことから、後で参照するためにリストに名前を付ける唯一の方法は with のようdefine
です。define
でリストを初期化すると、そのリストを変更または追加するのがより複雑になるように見えることを除いて、それは問題ありません。たとえば、私には ができないようで(append wordlist (element))
、何らかの方法で ! バン。
基本的に私の質問は次のようになります:define
リストに名前を付ける唯一の希望はありますか? もしそうなら、私はその要素を変更するフープを飛び越えて立ち往生していますか? ありがとう。
scala - 例による命令型と関数型
命令的および機能的な方法で実装されたメソッドがあります(ここで最善を尽くしました)。このメソッドは ArrayBuffer[Creature] を反復処理し、各クリーチャーまでの距離を計算し、最も近いものまたは None を返します (「これ」以外のクリーチャーがワールドに存在しない場合)。
必須:
機能:
機能コードはあまり明白ではないように見えます (おそらく単純化できますが、方法はわかりません)。1 か月でその場で読むことができるかどうかはわかりません。私の質問は、習慣の問題ですか、それともこの特定のケースには機能的ではありませんか? Scalaを始めたとき、あなたはそのような疑問を持っていましたか? しばらくすると、機能的スキルが大幅に向上し、命令型アプローチを完全に打ち負かしましたか? 体験談を投稿してください。
ありがとう!
functional-programming - 関数型プログラミングと宣言型プログラミングと命令型プログラミング
私は命令型プログラミングに慣れすぎています。命令型プログラミングとは、最終結果を得るために手順を段階的に実行するようコンピューターに指示する通常の方法です。一方、宣言型プログラミングは、入力を渡すだけで、出力がどのように行われるかの手順を記述せずに期待します。私が混乱しているのは関数型プログラミングです。関数型プログラミングは、計算を数学関数の評価として扱い、状態と変更可能なデータを回避するプログラミング パラダイムであり、宣言型言語の一種ではないことを私は知っています。しかし、私はそれがどのように機能するかをまだ理解できません。
フィボナッチ数列を実行する例を見てみましょう。
命令型プログラミング:
宣言型プログラミング:
機能プログラムはどのように機能しますか?
さらに、私の定義が間違っている場合は修正してください。お気軽にコメントください..