問題タブ [gnu-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 - GNU Smalltalkがメソッド本体に角かっこを使用するのはなぜですか?
GNU Smalltalkのマニュアルでは、次のように書かれています。
だから私は疑問に思っています、なぜSmalltalk-80からそのような恣意的な逸脱があるのでしょうか?
inheritance - Smalltalk: メソッドがクラス (またはその継承階層) に属しているかどうかを確認する
特定のメソッド (例: #aMethod で渡される) が特定のクラス (またはその階層) に属している場合、ブール値で応答する smalltalk メッセージはありますか?
次のようなことを言いたい —</p>
明らかに、containsMethod: は、存在するメッセージのプレースホルダーです。ああ、この例での自己のスーパークラスは Object です。ありがとう!
compilation - 「hello, world」GNU smalltalk のコンパイル
私が言語の学習に着手するときはいつでも、最初にその言語で書かれた実行可能ファイル (コンパイルされたプログラムまたはスクリプトである可能性があります) を作成し、実行すると「hello, world」と改行が stdout に出力されます。
GNU Smalltalk を 1 時間ほどいじり回しましたが、これを行う方法がわかりませんでした。
(hello world プログラムは、セッション内から次のように表現できることを知っています。
これは私の stdout 要件を満たしていません)
Smalltalk にはメインラインがないことは理解しています。ですから、それを実現するためには、どのようなボイラープレートが必要になるのか、非常に興味があります。繰り返しますが、ファイルは必ずしもコンパイルする必要はありませんが、演習の最終結果は、上記のセッションの抜粋になる smalltalk コードでなければなりません。
PS。はいはいはい、「イメージベースのプログラミング」の哲学を受け入れないことで、私が間違っていることを知っています。私は気にしない。イメージや IDE などを操作する方法を学ぶことに反対しているわけではありませんが、今はほとんど興味がありません。私が気にかけているのは、Smalltalk 言語そのものです。構文的にも、哲学的にも、タイポグラフィ的にも、かなり美しい。コマンドライン インタープリターとテキスト エディターからプログラミング言語を快適に学習できます。:)
smalltalk - GNU Smalltalk で関数を定義して呼び出す正しい方法は何ですか?
私は今 Smalltalk を独学しようとしていますが、自分が書いた関数を呼び出す方法がまだわかりません。ステートメントを使用printSomething
してパラメーターを指定して関数を呼び出そうとしましたが、関数を呼び出す代わりに、次のエラーが発生しました: .'Derpy'
printSomething: 'Derpy'.
prog.st:3: expected expression
ここで何が間違っていますか? Smalltalk でパラメーターを使用して関数を呼び出す正しい方法は何ですか? これまでに読んだチュートリアルのどれも私の質問に答えておらず、まだ少し混乱しています。
smalltalk - コマンドラインから Smalltalk スクリプトを実行することは可能ですか?
コマンド ラインから Smalltalk スクリプトを実行することは不可能であると主張する2004 年の (おそらく時代遅れで間違った)ブログ記事を見つけました。それ以来、何か変わったことはありますか? また、コマンド ラインから Smalltalk スクリプトを実行することは可能ですか? Google で多くの検索を行いましたが、このトピックに関する情報はまったく見つかりませんでした。
Smalltalk スクリプト (このスクリプトなど) をファイルとして保存し、コマンド ラインからスクリプトを実行する方法はありますか?
smalltalk - 無効な入力の例外処理 - SmallTalk
「sum」という名前の smalltalk msg が、配列内の要素の合計を返すようにします。
例: #(1 2 3 4 5) 合計 ----> 15
入力が #(1 2 'a' 3 5) sum の場合。実行が終了し、大きな例外ボックスが表示されます。その代わりに、メッセージを表示するだけで実行を適切に終了するにはどうすればよいでしょうか。大きな例外ウィンドウを表示したくありません。
以下の方法で例外を処理しようとしました。ただし、無効な入力の場合、実行が終了しないことに気付きました。
以下のコードがワークスペースに配置されている場合、2 行目で実行が終了すると予想していましたが、3 行目も実行されています。|温度| temp := #(1 2 3 'as' 4 5) 合計。温度 := 温度*5.