問題タブ [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 - Smalltalk の whileTrue メッセージは舞台裏でどのように実装されていますか?
私は Smalltalk を独学しようとしています。チュートリアルには、while ループのこの例があります。
私が理解しているように、whileTrue は BlockClosure に送信されるメッセージであり、受信側が true である限り、引数として指定された BlockClosure を実行するように受信側 BlockClosure に指示します。
BlockClosure が応答する whileTrue メッセージは、Smalltalk で while ループ構造なしでどのように実装されていますか? それとも、ランタイムが書かれている言語で実装されていますか?
smalltalk - Smalltalk Webアプリケーション開発環境をゼロから?
WindowsでSmalltalkWebアプリケーション環境を最初からセットアップするのに苦労しています。これらは私が探している機能です:
- Squeakまたは無料のST環境を優先します。Windowsで安定して動作する必要があります
- 選択のフレームワークとしてシーサイドが好まれます
- データベースとしてのMySQLまたはSQLite
- まともなHTMLテンプレートまたはフロントエンドテクノロジーalaCL-WHO
私はこの言語が本当に好きですが、SmalltalkでWebアプリ開発を始めるための初心者向けの詳細なチュートリアルを見つけるのに苦労しています。DjangoとRailsはどちらも、この点で多くの優れた作業を行っています...Lispersでさえいくつかの優れたnoobチュートリアルがあります。
namespaces - Squeak は名前空間をサポートしていますか?
そこで、いくつかの趣味/学術的なプロジェクトに Smalltalk/Squeak を使用することを考えていて、言語について調べようとしているときに、この素晴らしい記事に出会いました。しかし、この段落は私を少し唖然とさせました:
「残念ながら、Smalltalk でモジュール/パッケージを提供または処理するための標準化が完全に欠如しています。いくつかのダイアレクトは、モジュール/パッケージの非常に強力で包括的なサポート (プログラミング チームによるバージョン管理と分散アクセスを含む) を提供しますが、他のダイアレクトは、ほとんどまたはほとんど提供しません。いくつかの方言は複数の共有可能な名前空間の堅牢な実装を提供します. 他の方言はそうではありません. 唯一の共通点は, モジュール/パッケージまたは名前空間のいずれかが提供されるとき, それらが具体化されたオブジェクトとして実装されることです.クラスとメソッドは具体化されたオブジェクトとして実装されます。」
それで、私はそれをグーグルで調べてみましたが、これは Squeak wiki に表示されます: http://wiki.squeak.org/squeak/734。これ(または同様のもの)が現在標準配布の一部であるかどうかを知っている人はいますか?
version-control - Smalltalk で Monticello から最新バージョンを入手するにはどうすればよいですか?
Monticello バージョン管理システムの 'svn update' を探しています。新しい mcz パッケージの検索にはブラウザを使用していますが、スクリプトで検索できるようにしたいと考えています。
fonts - Smalltalk Squeak/Pharo でネイティブ フォントに簡単に変更するにはどうすればよいですか
すべての新しい Squeak/Pharo 画像で、私はすぐにフォントをネイティブ バージョンに変更します。マウスクリックが多いので、プロセスをスクリプト化したいと思います。
inheritance - たとえば Object inheritsFrom: fooobaar が Smalltalk で true を返すのはなぜですか?
GNU Smalltalk の inheritsFrom: メソッドは、パラメーターとして送信された未定義のクラス名ごとに true を返すようです。これにより、プログラムのデバッグが非常に難しくなる可能性があります。Behavior クラスのこのコードを見ると、次のようになります。
行 aClass isNil ifTrue: [^true] が犯人ですが、このようにコーディングされた方法について正当な理由を探しています。(ちなみに、私は Smalltalk の世界は初めてで、学習しようとしています。)
ありがとう。
java - Squeak が Java にはない方法でプラットフォーム間で「ビット同一」に実行されるとはどういう意味ですか?
Alan Kayは、「Java とは異なり、[Squeak] はすべてのマシンで少し同じように動作します。これは 20 年前に発明されたものです」と指摘しています。ウィキペディアのページには、これについても言及されています。
Squeak は多くのプラットフォームで利用でき、1 つのプラットフォームで作成されたプログラムは、他のすべてのプラットフォームで少し同じように実行されます。
異なる命令セットを持つマシンは明らかにビット同一プログラムをネイティブに実行できないので、Squeak が異なるマシン上でビット同一プログラムを実行するのに、Java が実行しないと言うとき、それは何を意味するのでしょうか?
コンパイルされた Java クラスは、どの JVM 上のどのマシンでも同じように実行されるという印象を受けましたが、そうではありませんか?
smalltalk - Smalltalk とアサーション
smalltalk + TDD + 「グッドプラクティス」を試してみると、ちょっと醜いブロックに遭遇しました:
GNU Smalltalk でアサーションを行うにはどうすればよいですか?
私はちょうど単純なifFalse: [Die]
種類のものを探しています
testing - (誤)Smalltalk と TDD を理解する
やってみることで Smalltalk を学ぼうとしているので、単純な「Matrix」クラスを作成することで構文とスタイルを把握しています。
.st
まず第一に、優れたSmalltak チュートリアル (これは完全にオプションですが) にリンクしていただければ幸いです。その代わりにメソッド)。
次に、TDD について: このプロジェクトでは を呼び出しgst-sunit -f matrix.st -f matrix-test.st BaseMatrixTests
ていますが、それよりも優れた方法があるはずです。ある?
そして最後に、アサートについて: メソッドを作成し、その中にアサートを入れようとしています。
どうすればそのようなアサーションを行うことができますか?
編集:明示的にマークされた質問。