問題タブ [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.
smalltalk - GemStone-Linux-Apache-Seaside-Smalltalk .. 4GBはどれくらい実用的ですか?
GLASSに本当に興味があります。無料版の4GBの制限は私が心配しています。特に次のレベル(7000ドル)の価格を考えると。
これは主観的で変動する可能性があることは知っていますが、誰かが私のために4 GBのGLASSで何が得られるかを日常的に説明できますか?たぶんビジネスの例です。4 GBは、私が思っているよりも多くのストレージを取得する可能性があります。そして、それについて心配する必要はありません。
私のアプリでは、一部のメッセージに最大5MBのサイズの添付ファイルがあります。これらの添付ファイルをGemstone内ではなく、オペレーティングシステム上のファイルに直接保存することで、4 GBのGemstoneスペースを節約できますか?はいと思います。
smalltalk - Smalltalk クラスのインスタンス変数の再定義
私は Smalltalk を使ったことはありませんが、Smalltalk についてはよく読んでおり、常に興味をそそられてきました。プログラムが実行されていて、プログラムのオブジェクトが使用しているクラスのメソッドを変更するだけで、実行中のプログラムの動作が変わるクールなデモを見てきました。それは明らかに強力なものであり、それがどのように機能するかを理解しています. クラスのインスタンス変数を追加、削除、または名前変更するときに、そのクラスの既存のインスタンスがどうなるかは、はっきりとはわかりません。
実行中のプログラムですべてのクラスが使用しているインスタンス変数を変更し、そのクラスの既存のインスタンスが後で正しく機能することを期待する方法を想像できません。おそらく、初期化する必要があり、この変数に依存するように以前の既存のメソッドが変更された新しいインスタンス変数を追加しています。そのクラスのライブインスタンスを持つ実行中のコードの恐ろしい誤動作に終わることはありませんか? または、インスタンス変数の意味が変更され、以前とは異なる種類のオブジェクトがそこに格納されることを期待している場合はどうなるでしょうか? ある種の「アップグレード」メカニズムはありますか? それとも、以前のインスタンスをクラッシュさせて燃やすだけにするのが通常のやり方ですか? それとも、これは単に「私たちがしない」というケースですか
私が考えることができる唯一の合理的にクリーンなアプローチは、インスタンス変数の定義を変更すると、おそらく実際にはまったく新しいクラスが作成され、変更前の古いインスタンスは古いクラス定義で問題なく機能し続けるということです(現在は名前が新しいクラス定義に再定義されたため、名前でアクセスできません)。おそらくそれが最も論理的な説明ですが、このプロセスを直接説明するものは何も見つからなかったので、ここで質問して、どのような楽しい情報が得られたかを確認することにしました. :)
dvcs - VisualWorks Smalltalk の分散ソース管理
Smalltalk の厄介な点の 1 つは、ソース コードを管理する方法のために、(通常) 独自の VCS が必要なことです。Squeak と Gemstone (少なくとも GLASS バージョンでは) には、まずまずうまく機能する Monticello という DVCS があります。私が知る限り、VisualWorks のメイン VCS である StORE は、昔ながらの集中モードでしか機能しません。VisualWorks で利用できる Monticello に似たシステムはありますか? または、StorE の正しい使用方法を誤解していますか?
unit-testing - SUnit から Phexample への移行
私は Pharo のPhexampleを試していて気に入っていますが、単体テストの半分を SUnit で行い、残りの半分を Phexample で行うのは不便です。Phexample には既存のテストのインポート機能がありますか?
stack - 現在のスタックを見つける方法は?
Pharo で、現在評価中のスタックを見つけるにはどうすればよいですか?
error-handling - エラーメッセージをコピーしてPharoに貼り付けるにはどうすればよいですか?
Squeakはかつて、人々に鈍いエラーメッセージ以上のものを与えることによって革新的でした:デバッガーと理解してください!
しかし、最近はグーグルがあり、エラーメッセージをコピーアンドペーストするのは大変なことです。エラーメッセージは通常、デバッガウィンドウのタイトルとして機能します。そのエラーメッセージをコピーして貼り付けるにはどうすればよいですか?
smalltalk - Pharo Gofer さん、オフライン時にローカル パッケージ キャッシュにフォールバックできますか?
Gofer
インターネットが利用できない場合、ローカル パッケージ キャッシュにフォールバックするように指示できますか?
たとえば、私が使用できるような
電車でオフラインのときに画像をセットアップするには?(その場合、パッケージが実際に以前のイメージ設定からローカルで利用可能であることを確認できます。)
programming-languages - Smalltalk の何が特別なのですか?
すべての技術出版物で、またこのサイトでも、人々は常に OO 言語をSmalltalkと比較しています。私の経験は Java です。Smalltalk はそれほど重要なので、勉強する必要がありますか?
smalltalk - Squeak/Pharo Smalltalk で継承されたメソッドを表示する
Smalltalk の VisualWorks および Dolphin バージョンには精通していますが、Squeak は使用したことがありません。私は、Squeak の「クリーンアップされた」フォークである Pharo に慣れてきました。
私は、クラスによって実装されたメソッドのみ、または継承されたメソッドと実装されたメソッドの両方を表示する機能をクラス ブラウザに用意することに慣れています。
この便利な機能が Squeak にないのでしょうか、それとも見つけられなかったのでしょうか?
class - オブジェクトのクラスを別のものに設定するにはどうすればよいですか?
最近見たのに見つからなくなった…
オブジェクトのクラスを別のものに設定するにはどうすればよいですか?
--更新: さて、Pharo で! お気に入り:
実際にはsetClassではないということだけです。オブジェクトのクラス ポインタを変更するにはどうすればよいですか?