0
StringMorphから、数学を行うためのコードを書く方法。Smalltalk Pharo
contents := InputField contents asNumber
どのように私は、これに数学の機能を追加することができます - (1.8 + 32)文字列から数値を変更するには?
私はオンラインでサンプルを見つけるのに苦労しています。
StringMorphから、数学を行うためのコードを書く方法。Smalltalk Pharo
contents := InputField contents asNumber
どのように私は、これに数学の機能を追加することができます - (1.8 + 32)文字列から数値を変更するには?
私はオンラインでサンプルを見つけるのに苦労しています。
答えることは少し遅れていますが、数学の表現であることを起こる有効なSmalltalkの式を評価する方法について話している場合:
Smalltalk compiler evaluate: '0.0 - (1.8 + 32)'
はprintit => -33.8
もし私があなたが正しく理解しているなら、 'contents'メッセージを使って生の文字列(_1.8 + 32_)を読む必要があります。次に、解析して数値と演算を取得し、計算の背後に論理を実装する必要があります。 – Uko
私は「Smalltalkで算術演算を行う方法」として簡単に読んでいますが、これは単にresult:= contents-(1.8 + 32)となります。これを入力フィールドに戻すには、おそらくsetterの 'InputField contents:result asString'を使用します。 – JayK
基本的な算術演算を使用したいだけなら、コンパイラを使用してInputFieldの内容を評価することができます。 1.8 + 32は有効なスモールトーク式です。これは非常に良い考えではありません。なぜなら、解析のエラーがユーザーに伝わって、何が起こるのか理解できないからです。また、大きなセキュリティ上の問題。 –