問題タブ [smalltalk]
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.
language-agnostic - 通信の適切な OO モデリング
私のプログラミングには何かが現れ続けています. 同様に、列車で接続された鉄道駅のグラフを作成すると想像してください。クラス Vertex と RailStation は同じ場合もあれば、そうでない場合もあります。
では、鉄道駅と列車を非常によく表しているグラフがあるとします。次に、このグラフを別のオブジェクトに渡し、いくつかの頂点を削除してから、対応する鉄道駅を削除します。
鉄道駅を頂点の「プロパティ」にしたくありません。そうではありません。また、問題は対称的です。鉄道駅を消去すると、対応する頂点が消えてしまいます。モデル化または通信の適切な OO の方法は何ですか。最終的に全体的な使用法が単純で簡単であれば、いくつかのサポート メソッドまたはクラスを作成することによって、さらに数マイル進んでいきます。
私は現在 Smalltalk プログラミング言語を使用していますが、質問は実際には smalltalk 固有のものではないと思います。Smalltalk では、コール スタックを調べるなどのクールなトリックを実行できるため、このコンテキストで役立つ可能性があります。
更新: まあ、RailStations は頂点ではありません! 彼らは?
わかりました、答えで要求されているように、実際のコードを考えてみましょう。子供がいる人をモデルにしましょう。それが一番簡単ですよね?子供も親を知っている必要があるため、二重にリンクされたツリーのようになっています。子から親を簡単に分離できるようにするために、親と子の間のリンクを、親と子のプロパティを持つリレーションシップとしてモデル化します。
だから、私はparent>>removeChildを実装することができました:おそらくこのように
したがって、親には、子ではなく関係のコレクションがあります。しかし、それぞれの関係は子供に対応しています。今、私はこのようなことをしたい:
関係と子供を削除する必要があります。
ここでは、人間関係と子供はある意味で対応しています。それで、私は今何をしますか?誤解しないでください。Relationship クラスを導入しなくても問題を解決できることは十分承知しています。しかし、確かに、親と子は実際に関係を共有しているので、それをモデル化し、それを使用して、二重リンクを無理なく解消するのに役立ててみませんか?
smalltalk - Pharo に Magma と LPF をインストールする
Magma を Pharo にインストールしようとしてきましたが、うまくいきませんでした。これは私がこれまでに試したことです:
- Monticello からのインストール
squeaksource.com/MagmaTester
-- MaObjectSerializer の構文エラー >> setUpClassDefinitionProcessing。 - ユニバースからのインストール - イメージがハングし、ヒットしようとしたときに無限のリダイレクト ループに陥ったよう
installer.pbwiki.com/f/mc15.st
です。 - LPF を直接インストールすると
HTTPSocket httpFileIn: 'ftp.squeak.org/3.11/bob/LPF.st'
-- どうやらインストーラー ファイルの 1 つが Unicode である (または少なくとも各文字が予期せず 2 倍幅になる) ため、構文エラーが発生します。
これで運が良かった人はいますか?
smalltalk - Squeakシステムブラウザの質問
OOP / OODクラスに「SqueakByExample」(SBE)イメージ(の学校修正バージョン)を使用しています。ただし、私のシステムブラウザには、SBEに表示されるいくつかの機能がありません。それらを取り戻すことができるいくつかの構成オプションがあると思いますが、まだそれらを見つけることができません。
私の質問は次のとおりです。
1)ボタンを元に戻すにはどうすればよいですか?下部のペインには、一連のボタン(参照、送信者、実装者、バージョン、...、ソース)が表示されます。ボタンがありません。
2)ボタンの上にある小さなワークスペース領域を表示するにはどうすればよいですか?上部ペインの下、ボタンの上に入力できる領域があるはずですが、表示されません。
前もって感謝します!
ロバート
編集-私は設定ブラウザをいじって、たくさんの設定を試しました。なんとかボタンを元に戻し、後でその小さな(名前が不明な)ワークスペースペインを元に戻しましたが、方法がわかりません。どの設定が何を制御しているかを調べるために、もう一度体系的にオフにしようとしましたが、どちらの問題を制御しているかを判断できませんでした。それで、私はそれを機能させていますが、それが私が学ぶのを助けるかもしれないので、私は何人かのきしむ/smalltalkの知識のある人にこれらを制御する方法を教えてもらいたいです...
user-interface - Squeak インターフェースの見た目と動作が古臭いのはなぜですか?
誤解しないでほしいのですが、私は Smalltalk が大好きですが...
私にとって、Squeak インターフェイスは最大のターンオフの 1 つです。ユーザー インターフェイスではなく、Smalltalk が好きです。GNOME、MacOS X、Windows Vista などの最新のインターフェースと、Squeak のフラットな 2D 漫画のような 16 色 (または 256 色?) のインターフェースを使用して、使いやすさと視覚的に魅力的な視覚的魅力の組み合わせを比較する必要があるだけです。
最新のユーザー インターフェイス デザインが Squeak に組み込まれることはありませんか?
それとも、何かが完全に欠けていて、現在のコンピューター ユーザー インターフェイスの一部がすべて間違っているのでしょうか?
java - フレームワークを「真の」MVCフレームワークにする理由は何ですか?
MVCフレームワークに関するオンラインディスカッションを読んでいると、Java / .NET開発者からCake、Code Igniter、SymfonyなどのPHPプロジェクトに向けて、「これらは巧妙なハックですが、真のMVCではありません」というコメントがたくさん寄せられています。
つまり、何かを「真の」MVCフレームワークにするのは何ですか。つまり、Cake、Code Igniter、Symfonyなどとは異なる動作をする.NETまたはJava MVCフレームワークの例は何ですか?また、それらの異なる動作は何ですか?ブートストラップを必要とする強制的なオブジェクト指向がPHPにないだけなのか、それとも他の何かなのか。
PHPが言語を「吸う」理由を知っています。私は、MVCの実装や使用の違いにもっと興味があります。
smalltalk - 配列を使用してオブジェクトを初期化します
私は(Squeakを使用して)Discovering Better Code:RonJeffriesによるSmalltalkシリーズのボウリングを行っていましたが、 3番目の記事を通過できません。
コンストラクターの引数として配列を受け取る新しいクラス(Frameと呼ばれる)が作成されています。
簡単なテストでこれを実行しようとすると、次のようになります。
次のエラーが発生します。
代替テキストhttp://files.getdropbox.com/u/120566/junk/error.png
配列でFrameオブジェクトを初期化できるように#newメッセージを変更するにはどうすればよいですか?
smalltalk - きしむ-円を動かすにはどうすればよいですか?
Squeak Smalltalk環境で、私はMorphicを学ぼうとしています。モーフィッククラスは非常に多く、現在のアプリケーションに使用するのに最も適切なクラスを決定することはできません。この時点ですでに存在するものを発明したくないのです。関連するコード/情報へのリンクをいただければ幸いです。ファロの方がいいかもしれませんが、私はSqueakatmで立ち往生しています。
私の質問は次のとおりです
。SqueakとMorphicを使用して、ある種のキャンバスを作成し、それを移動可能でスクロール可能でサイズ変更可能なウィンドウにドロップし、デスクトップに表示し、circleMorphをそのキャンバスにドロップして、ユーザーが円をつかむことができるようにするにはどうすればよいですか。キャンバス上で動かしますか?
ありがとう!
smalltalk - 「コード」による直接操作によって作成された Squeak (Mophic) でのモーフの参照
ワークスペースなどの Squeak/Smalltalk コードを介して、テキスト ボックスをサプライ メニューからデスクトップにドラッグするなど、直接操作によって作成されたモーフを参照 (プログラム) するにはどうすればよいですか? Squeak/Smalltalk コードを介して Morph をインスタンス化するときは問題ありませんが (Morphic を学習しているだけです)、Morph をドラッグして存在させると途方に暮れます。
persistence - マグマ、GOODS、GLORP、または他の何か?
そのため、私はSmalltalkを約6か月間使用しており(SqueakとPharo)、主にデータ分析を行っており、最初のSeasideアプリを起動しようとしています。それで、そこにいるすべてのSmalltalkersへの私の質問は、あなたのお気に入りの永続化ソリューションは何ですか?マグマ、GOODS、GLORPを見てきました。私は長年のPythonハッカーなので、ORMを取得しますが、オブジェクト指向のように見えるため、MagmaまたはGOODSの方が優れたソリューションのようです。
簡単なメモ:アプリを複数のVMにまたがってスケーリングしたいので、データをイメージに保存するだけでは実際には機能しません。
ありがとう!
smalltalk - OmniBrowser を含む、Pharo コア イメージをより便利なものに変換するスクリプトはありますか?
Pharo に組み込まれているコンパイラに奇妙な問題があるため、最新の dev Pharo リリースを使用できません。良い。開発イメージと比較して、コア イメージでは見逃されている気の利いたエクストラをすべて Pharo にすばやくインストールする方法があるかどうか疑問に思っていました。