問題タブ [squeak]
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 - 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 状態が必要である以外に、レンダー オブジェクトよりもコンポーネントを使用する理由が他にあるでしょうか?
squeak - SqueakMapは新しい3.10開発イメージでは機能しません
Damien Cassouから新しいSqueak-devイメージをダウンロードし、SqueakMapをクリックすると、SqueakMap >> categoryでオブジェクトインスタンス変数がnilであるというエラーが発生しましたが、そうではないはずです。そのエラーを抱えているのは私だけではありませんね。私は何をすべきか?
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でグローバル変数を作成するには?
私はクラス変数を意味しません。どこでも使える変数が欲しい。どこで定義すればよいですか?【きしむ】
smalltalk - Squeakシステムブラウザの質問
OOP / OODクラスに「SqueakByExample」(SBE)イメージ(の学校修正バージョン)を使用しています。ただし、私のシステムブラウザには、SBEに表示されるいくつかの機能がありません。それらを取り戻すことができるいくつかの構成オプションがあると思いますが、まだそれらを見つけることができません。
私の質問は次のとおりです。
1)ボタンを元に戻すにはどうすればよいですか?下部のペインには、一連のボタン(参照、送信者、実装者、バージョン、...、ソース)が表示されます。ボタンがありません。
2)ボタンの上にある小さなワークスペース領域を表示するにはどうすればよいですか?上部ペインの下、ボタンの上に入力できる領域があるはずですが、表示されません。
前もって感謝します!
ロバート
編集-私は設定ブラウザをいじって、たくさんの設定を試しました。なんとかボタンを元に戻し、後でその小さな(名前が不明な)ワークスペースペインを元に戻しましたが、方法がわかりません。どの設定が何を制御しているかを調べるために、もう一度体系的にオフにしようとしましたが、どちらの問題を制御しているかを判断できませんでした。それで、私はそれを機能させていますが、それが私が学ぶのを助けるかもしれないので、私は何人かのきしむ/smalltalkの知識のある人にこれらを制御する方法を教えてもらいたいです...