問題タブ [dynamic-languages]
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.
refactoring - 動的言語で自動リファクタリングは可能ですか?
おそらく私は動的言語 (Netbeans での Ruby と Eclipse での Groovy) の経験によって制限されていますが、動的言語の性質上、リファクタリング (メソッド、クラスの名前変更、プッシュアップ、プルダウン、など)自動的に。
任意の動的言語 (任意の IDE/ツールを使用) で自動的にリファクタリングすることは可能ですか? 特に Ruby、Python、Groovy に興味があり、リファクタリングがすべての Java IDE で利用可能な 100% 自動リファクタリングとどのように比較されるかについてです。
python - 動的言語からドキュメント データベースへのオブジェクトの永続化に関するアドバイスを求める
ドキュメント データベースで動的言語からオブジェクトを永続化する最も洗練された方法についての洞察はありますか?
私は C# の経験が豊富で、Python でプログラミングを始めたばかりです。同時に、MongoDB のコツを学ぼうとしています。
今、私は疑問に思っています: 私のデータを MongoDB データベースに永続化する最もエレガントな方法は何ですか? 私はいくつかのアプローチを検討しました:
すべての Python クラスで、状態を表す辞書とリストのグラフを作成できるようにします。さらに、そのようなグラフから状態を初期化できるようにします。オブジェクトを永続化したい場合は、そのグラフ表現を要求して永続化します。オブジェクトを取得したいときは、ドキュメント グラフを取得し、これを
__init__
クラスのメソッドに提供します。特定のオブジェクトを検査し、辞書とリストのグラフを作成できる別の Mapper クラスを作成します。これを MongoDB に保存できます。マッパーは、データがデータベースから取得されたオブジェクトの作成も担当します。
ドキュメント オブジェクト マッパーであるmongoengineを試してみました。ただし、特定のクラス (ドキュメント) からクラスを派生させなければならなかったときはがっかりしました。Microsoft の Entity Framework 1.0 と POCO サポートの欠如を思い出しました。特定のクラスから強制的に派生させたくありません。気分が悪いですが、これが本当に動的言語の問題なのかどうかはわかりません。
私の思考は、C# のバックグラウンドによって妨げられていますか? 動的言語が提供する柔軟性の範囲を理解していないと確信しているので、ベスト プラクティスに関するアドバイスやヒントをいただければ幸いです。
ありがとうございました。
emacs - CEDETは動的言語にどのような便利さをもたらしますか?
私はCEDETを調べてきましたが、その機能のほとんどは静的に型付けされた言語で作業する開発者にとってより魅力的であるように思われます。
私は主にrubyとjavascriptを使用しているので、プレーンなTAGSファイルに対して、これらのインタープリターされた動的型付け言語を使用すると、どのような改善がもたらされるのでしょうか。
dynamic-languages - Are All Dynamic Languages Typo-friendly?
With Java on one side and Ruby/Groovy on the other, I know that in the second camp I'm free to make typos which will not get caught until run-time. Is this true of all dynamically-typed languages?
Edit: I've been asked to elaborate on the type of typo. In Ruby and in Groovy, you can assign to a variable with an accidental name that is never read. You can call methods that don't exist (obviously your tests should catch this, it's been said). You can refer to classes that don't exist, etc. etc. Basically any valid syntax, even with typographical errors, is valid in both Ruby and Groovy.
python - 他の言語のライブラリを簡単に使用できる動的言語はどれですか?
Python、Perl、Rubyなどが最小限の思考で他の言語のモジュールをプラグインするのに最も簡単だと思う理由を教えてください。
明確にするために、例:Pythonでビジネスロジックを記述したいが、Perlモジュールとして便利に存在する機能を使用します。
言い換えれば、どの言語がほとんどのモジュールで「正しく機能する」のでしょうか。
ruby - Scala に欠けている動的言語 (Ruby や Clojure など) の機能は何ですか?
Ruby、Python、Clojure、Groovy (マクロやランタイム メタプログラミング機能を持つ) のような動的に型付けされる言語ではなく、Scala (または F#、Haskell、C#) などの静的に型付けされる言語を選択すると、実際には何を失うでしょうか? 最悪の言語ではなく、最適な静的型付け言語と最適な (あなたの意見では) 動的型付け言語を検討してください。
回答の要約:
Scala IMHO のような静的型付け言語に対する Ruby のような動的言語の主な利点は次のとおりです。
- 迅速な編集と実行のサイクル (JavaRebel はギャップを減らしますか?)
- 現在、Scala/Lift のコミュニティは、Ruby/Rails や Python/Django よりもはるかに小さいです。
- 型定義を変更することが可能 (ただし、その動機や必要性はあまり明確ではありません)
javascript - 使用している JavaScript ライブラリがアップグレード後にコードを破損するかどうかをどのように判断しますか?
そのため、Web サイトで多数の JavaScript ライブラリを使用しています。あなたの JavaScript コードはいくつかの API を呼び出しますが、アップグレード後にときどき API の 1 つが変更され、知らないうちにコードが壊れます。
これを防ぐにはどうすればよいですか?
私は主にJavaScriptに興味がありますが、動的に型付けされた言語に関する回答は価値があります.
interface - 動的言語のインターフェース?
インターフェイス(またはすべてのメソッドを抽象化した抽象クラス)は、C#、JAVAなどの静的型付き言語の強力な武器です。これにより、さまざまな派生タイプを統一された方法で使用できます。デザインパターンは、可能な限りインターフェイスを使用することを推奨します。
ただし、動的型付け言語では、コンパイル時にすべてのオブジェクトの型がチェックされるわけではありません。特定の方法で使用するためにインターフェースを実装する必要はありません。いくつかのメソッド(属性)が定義されていることを確認する必要があります。これにより、インターフェースが不要になるか、少なくとも静的言語ほど有用ではなくなります。
典型的な動的言語(ルビーなど)にはインターフェースがありますか?もしそうなら、それを持っていることの利点は何ですか?そうでない場合は、インターフェイスを必要とする美しいデザインパターンの多くを失っていますか?
ありがとう。
ruby - メソッドを呼び出したオブジェクトを特定する方法はありますか?
私は、Ruby のメッセージ パッシング インフラストラクチャが、これに対する巧妙なトリックがあることを意味することを願っています。
呼び出し元のオブジェクト (現在使用しているメソッドを呼び出したオブジェクト) を特定するにはどうすればよいですか?
groovy - groovy変数関数
このqnにタイトルを付ける方法についてもわかりません。しかし、groovyのような動的言語でそれを行う簡単な方法があることを願っています。
クラスServiceがあり、ビジネスロジックを委任するとします。その中のメソッドは
funA(), funB()... funX()
です。
これで、service.funA()のように呼び出すことができるサービスクロージャを呼び出すコントローラクラスができました。変数(値を持つことができます)に基づいてA, B ... X
、正しいサービスクロージャを計算する必要があります。基本的に、if条件文をたくさん書くのを避けるためです。のような何かservice."fun+var"()
をします。クロージャ(関数)名の変数を置き換えることができるかどうかわかりません。または、関数(名前)をパラメーターとして渡すことによって...わからない
PHPにも同様の機能があると思います http://php.net/manual/en/functions.variable-functions.php
ポインタをありがとう。