TOKUNAGA Hiroyuki
tkng****@xem*****
2004年 12月 12日 (日) 22:08:33 JST
On Fri, 10 Dec 2004 21:53:34 +0900 Hiroyuki Komatsu <komat****@taiya*****> wrote: > uim で、文字列の大小比較と、数字への変換はどのようにすれば > よいのでしょうか? > > つまり、 > > (string-compare "a" "b") => -1 ;; ( "a" <=> "b" ) => -1 > (string<? "a" "b") => #t > > (string-to-number "10") => 10 > > というような機能が欲しいのですが、提供されているのでしょうか? > # バージョンチェックで使います。 文字列の比較のためにはstrcmpという関数があります。単なるC言語の strcmpのラッパーです。 string-compareという関数はSRFI-13で定義されているようなので、本来はこ ういった関数を実装した方がよいのでしょうが、これを実装するのはちょっとめ んどくさそうなので、とりあえずstrcmpを使ってください。 文字列から数字への変換に関しては、string->integerという関数を実装して おきました。R5RSではstring->numberという関数が定義されているのですが、こ れは2〜36進法までをサポートしなければならず、めんどくさいので独自実装で 済ませました。負の数はサポートしてませんが、用途からすればこれで十分でし ょう。 こういう独自仕様の増加は実に良くない傾向です。やっぱ頑張って tinyschemeに移植をしてみるべきなのかな…。 -- 徳永拓之 tkng****@xem***** http://kodou.net/