[SML 8115] Re: stringを評価可能オブジェクトに変更する方法について

青木 淳 atsushi @ cc.kyoto-su.ac.jp
2015年 3月 13日 (金) 18:46:26 JST


簡単には二つの方法があると思います。

【selfを用いる方法:ageがselfになってしまいますが、簡便です。】

	| age aString aBoolean |
	age := 7.
	aString := '10 > self'.
	aBoolean := Compiler
				evaluate: aString
				for: age
				logged: true.
	^ aBoolean

【thisContextを用いる方法:実行している文脈を引き継いで評価します。】

	| age aString aBoolean |
	age := 7.
	aString := '10 > age'.
	aBoolean := Compiler new
				evaluate: aString
				in: thisContext
				to: self
				notifying: nil
				ifFail: [^ #failedDoit].
	^ aBoolean

以上、速攻レスポンスでした。

--- 青木淳@京都産業大学コンピュータ理工学部

On 2015/03/13 17:54, Squeak wrote:
> まだ春の気配のない北海道です。
>
> aにストリングを代入します。
> a := ’10 > age’
> このストリングをストリングとしてではなくて、式( 10 > age )として評価する方法を教えていただければ助かります。
> a asContext かと思ったのですが、違うようです。
> as*を検索しましたが、よくわかりませんでした。
> よろしくお願いします。
>
> NEZ.CheshireNEKO.Squeak
> CheshireNEKO Company
> squeak @ cheshireneko.com <mailto:squeak @ cheshireneko.com>


SML メーリングリストの案内