問題タブ [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 - BOSS 7 で始まるファイルの種類は何ですか?
90 年代初頭に生成されたいくつかのファイルを見ています。そのうちの 1 つは、多数の大きなファイルにバイナリ形式でパックされたデータへの参照を保持しているようです。
ファイルの最初の 6 バイトは 0x42 0x4f 0x53 0x53 0x20 0x37 で、BOSS 7 のスペルです。
/usr/share/file/magic を含むさまざまなファイル タイプ情報のソースを検索しても、何も見つかりませんでした。これらのバイトで始まるファイルを生成するために使用された可能性のあるソフトウェアを知っている人はいますか? ファイルレイアウトに関する情報は素晴らしいでしょう。
smalltalk - perform のパフォーマンス オーバーヘッド: Smalltalk (特に Squeak)
perform:
平均して、リテラル メッセージの送信よりもどれくらい遅くなると合理的に期待できますか? perform:
Perl/Python プログラマーがeval("...")
( Compiler evaluate:
Smalltalk で) をループで呼び出さないようにという警告と同様に、ループでの送信を避けるべきですか?
私は主に Squeak に関心がありますが、他の Smalltalk にも関心があります。また、perform:with:
バリアントではオーバーヘッドが大きくなりますか? ありがとうございました
smalltalk - いつ Seaside コンポーネントを使用し、いつ単純なレンダリング オブジェクトを使用するのですか?
私は最近、Seaside+Squeak で Web アプリケーションを開発していますが、素晴らしい経験であることがわかりました。Seaside は実際に他のどのフレームワークよりも優れており、より高いレベルの抽象化 (他のフレームワークが処理する HTTP 要求/応答サイクルと HTML テンプレートの上) で作業しているように感じます。
そうは言っても、私は Seaside コンポーネントについて少し混乱しています。最近、コンポーネントにオブジェクトのリストを表示する必要がありました (stackoverflow のフロント ページに似ています)。最初は各オブジェクトをコンポーネント (WAComponent のサブクラス) にしましたが、これは非常に無駄であることが判明し、#children を親コンポーネントで動的に設定して機能させる必要がありました。次に、レンダリング オブジェクト (WAComponent のサブクラスではなく、コンポーネントのように renderContentOn: の代わりに renderOn: を使用してレンダリングするオブジェクト) を作成しようとしました。これは機能しましたが、コンポーネントが (#session を使用して) できるように、セッション オブジェクトのグローバル状態にアクセスできなくなりました。次に、現在の Seaside セッション オブジェクトへのアクセスを任意のオブジェクトに与える「WACurrentSession 値」を発見しました。これでレンダリング オブジェクトを作成できるようになりました。加えて、
call/answer または backtracking 状態が必要である以外に、レンダー オブジェクトよりもコンポーネントを使用する理由が他にあるでしょうか?
smalltalk - GNU Smalltalk と Squeak の互換性
私は、グラフィックをまったく必要とせず、すべてデータ操作だけのアプリをきしむように取り組んでいます。問題は、私がかなり保守的な環境で働いており、マネージャーにきしむアプリを販売できるとは思わないことです (明るい色、丸いインターフェイス、および一般的な「一体何それ」のように感じます)。 「きしむ感じが彼らを怖がらせるでしょう)。そのため、より「伝統的な」コマンドライン インターフェイスの方が利害関係者を怖がらせる可能性が低いため、GNU Smalltalk でアプリを実行することを検討しています。
ですから、Squeak と Gnu Smalltalk の間で互換性がある機能/クラスと互換性がない機能/クラスのリストまたはセットを提供したり、私に指摘したりできますか? 言い換えれば、アプリをあるアプリから別のアプリに移植するのはどれほど難しいでしょうか (ここでも、非グラフィカルであるため、モーフィックについて心配する必要はないと仮定します)。
ありがとう!
smalltalk - きしむ改行
次のようなことをしたい: Transcript show: '\n'. どうやって?
smalltalk - squeak でメソッドの名前を動的に変更するにはどうすればよいですか?
クラスがあり、実行時に特定のメソッドの名前を変更したいと考えています。「Behavior」クラスにそれを行うメソッドがあると思います。しかし、私はそれを見つけることができません。助けはありますか?【きしむ】
oop - Smalltalkでのメッセージ転送
したがって、1つのオブジェクトに、メッセージの転送先となる一連のデリゲートオブジェクトがあるアプリケーションを作成しています。アイデアは私が言うことができるということです
そして、aMessageはsomeObjectのすべてのデリゲートに送信されます(aMessageの任意の値に対して)。私がこれを行うことができた唯一の方法は、次のようなものです。
それは機能しますが、より良い方法が必要です。このソリューションは、引数を文字列に制限し、単純に醜いです。誰かがメッセージを転送するためのよりクリーンでより良い方法を知っていますか?
ところで、私はsqueakを使用していますが、実装に依存しないソリューションが好まれます;)
編集:デリゲートはオブジェクトと同じクラスであるため、DoesNotUnderstand:をオーバーライドすることはできません。
smalltalk - Squeakでは、すべてのメソッド送信をラップする方法は?
クラスを作成しました。そのクラスには、オブジェクト、メッセージ、および引数の配列を受け取るメソッド'sendMessage:to:withArgs:'があります。このメソッドは、オブジェクトにメッセージを送信し、いくつかのアルゴリズムを実行するために使用されます。このメソッドを使用するには、作成したクラスのインスタンスxを作成し、x sendMessage:'+' to: '7' withArgs:'#(5)'のようにする必要があります。これにより、メッセージ'+'がパラメーター5を使用してオブジェクト7に送信され、さらに私のアルゴリズムが実行するものがいくつか送信されます。しかし、私が欲しいのは、アルゴリズムがすべてのメソッド呼び出しで使用されることです。つまり、7 + 5は私の'sendMessage:to:withArgs:'を呼び出します。どうやってやるの?または、少なくとも、すべてのオブジェクトに送信される各メソッドで呼び出されるものはありますか?
smalltalk - Squeakでグローバル変数を作成するには?
私はクラス変数を意味しません。どこでも使える変数が欲しい。どこで定義すればよいですか?【きしむ】