[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
77.1 Introduction to string processing | ||
77.2 Functions and Variables for input and output | ||
77.3 Functions and Variables for characters | ||
77.4 Functions and Variables for strings |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
stringproc.lisp
は、 Maximaの文字列を扱う機能を拡大し、
ファイル入出力に関するいくつかの役立つ関数を追加します。
質問とバグに関しては、volkervannek at gmail dot comにメールしてください。
Maximaでは、文字列は "text"とタイプすることで簡単に構成することができます。
stringp
は文字列かテストします。
(%i1) m: "text"; (%o1) text (%i2) stringp(m); (%o2) true |
文字は長さ 1の文字列として表されます。
これらは Lisp文字ではありません。
テストは charp
で行うことができます。
(関連として、lcharp
と cunlisp
を使った Lisp文字から Maxima文字への変換)
(%i1) c: "e"; (%o1) e (%i2) [charp(c),lcharp(c)]; (%o2) [true, false] (%i3) supcase(c); (%o3) E (%i4) charp(%); (%o4) true |
stringproc.lisp
の中の文字を返す関数はすべて Maxima文字を返します。
導入された文字が長さ
1の文字列だという事実のおかげで、たくさんの文字列関数を文字にも使うことができます。
既に見たように supcase
は1例です。
Maxima文字列の最初の文字は位置 1にあることを知ることは重要です。
これは、 Maximaリストの中の最初の要素も位置 1にあるという事実によって設計されています。
例えば、 charat
や charlist
の定義を見てください。
応用として、文字列関数はしばしばファイルを扱う時に使われます。
stringproc.lisp
の中に役立つストリーム関数、印字関数を見つけるでしょう。
以下の例はここで導入された関数のいくつかがいかに働くか示します。
例:
openw
はファイルへの出力ストリームを返し、
printf
はこのファイルへのフォーマットされた書き込みを可能にします。
詳細は printf
を参照してください。
(%i1) s: openw("E:/file.txt"); (%o1) #<output stream E:/file.txt> (%i2) for n:0 thru 10 do printf( s, "~d ", fib(n) ); (%o2) done (%i3) printf( s, "~%~d ~f ~a ~a ~f ~e ~a~%", 42,1.234,sqrt(2),%pi,1.0e-2,1.0e-2,1.0b-2 ); (%o3) false (%i4) close(s); (%o4) true |
ストリームを閉じた後、今度は入力方向で再び開くことができます。
readline
は行全体を1つの文字列として返します。
現在、 stringproc
パッケージは文字列を操作するたくさんの関数を提供しています。
split
や tokens
でトークン化できます。
(%i5) s: openr("E:/file.txt"); (%o5) #<input stream E:/file.txt> (%i6) readline(s); (%o6) 0 1 1 2 3 5 8 13 21 34 55 (%i7) line: readline(s); (%o7) 42 1.234 sqrt(2) %pi 0.01 1.0E-2 1.0b-2 (%i8) list: tokens(line); (%o8) [42, 1.234, sqrt(2), %pi, 0.01, 1.0E-2, 1.0b-2] (%i9) map( parse_string, list ); (%o9) [42, 1.234, sqrt(2), %pi, 0.01, 0.01, 1.0b-2] (%i10) float(%); (%o10) [42.0, 1.234, 1.414213562373095, 3.141592653589793, 0.01, 0.01, 0.01] (%i11) readline(s); (%o11) false (%i12) close(s)$ |
ファイルの終わりに来ると、 readline
は false
を返します。
Categories: Strings ·Share packages ·Package stringproc
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
例:
(%i1) s: openw("E:/file.txt"); (%o1) #<output stream E:/file.txt> (%i2) control: "~2tAn atom: ~20t~a~%~2tand a list: ~20t~{~r ~}~%~2t\ and an integer: ~20t~d~%"$ (%i3) printf( s,control, 'true,[1,2,3],42 )$ (%o3) false (%i4) close(s); (%o4) true (%i5) s: openr("E:/file.txt"); (%o5) #<input stream E:/file.txt> (%i6) while stringp( tmp:readline(s) ) do print(tmp)$ An atom: true and a list: one two three and an integer: 42 (%i7) close(s)$ |
streamを閉じて、もし streamが開いていたら
true
を返します。
Categories: File input ·File output ·Package stringproc
streamの中の要素の数を返します。 ここで streamはファイルからかファイルへのストリームでなければいけません。
Categories: File input ·File output ·Package stringproc
もし posが使われてないなら、 streamの中の現在位置を返します。
もし posが使われているなら、
fposition
は streamの中の位置を設定します。
posは正の数でなければいけません。
ここで streamの最初の要素は位置 1にあります。
Categories: File input ·File output ·Package stringproc
もし位置が行の最初でないなら
(streamに)改行を書きます。
newline
も参照してください。
Categories: File output ·Package stringproc
現在 streamに存在するすべての文字を含む文字列を返します。 streamはオープンな文字列出力ストリームでなければいけません。 戻り値の文字は streamから取り除かれます。
例: make_string_output_streamを参照してください。
Categories: Package stringproc
stringの一部とファイルの終了を含む入力ストリームを返します。 オプション引数がない場合、ストリームは全体の文字列を含み、一番目の文字の前に位置されます。 startと endはストリームに含まれた部分文字列を定義します。 一番目の文字は位置 1で得られます。
(%i1) istream : make_string_input_stream("text", 1, 4); (%o1) #<string-input stream from "text"> (%i2) (while (c : readchar(istream)) # false do sprint(c), newline())$ t e x (%i3) close(istream)$ |
Categories: Package stringproc
文字を受け付ける出力ストリームを返します。 このストリームに現在存在する文字は get_output_stream_stringを使って取り出すことができます。
(%i1) ostream : make_string_output_stream(); (%o1) #<string-output stream 09622ea0> (%i2) printf(ostream, "foo")$ (%i3) printf(ostream, "bar")$ (%i4) string : get_output_stream_string(ostream); (%o4) foobar (%i5) printf(ostream, "baz")$ (%i6) string : get_output_stream_string(ostream); (%o6) baz (%i7) close(ostream)$ |
Categories: Package stringproc
(streamに)改行を書きます。
newline()
の使用の例に関しては、
sprint
を参照してください。
newline()
が期待通りに動かない
いくつかの場合があることに注意してください。
Categories: File output ·Package stringproc
fileへの出力ストリームを返します。
もし存在しているファイルを開いたら、
opena
はファイルの終わりに要素を追加します。
Categories: File output ·Package stringproc
fileへの入力ストリームを返します。 もし fileが存在しないなら、生成されます。
Categories: File input ·Package stringproc
fileへの出力ストリームを返します。
もし fileが存在しないなら、生成されます。
もし存在しているファイルを開いたら、
openw
は fileを破壊的に変更します。
Categories: File output ·Package stringproc
制御文字列 stringの文字を出力し、ティルデがディレクティブを導入することを観察することで フォーマットされた出力を生成します。 ティルデの後の文字は、前置パラメータと修飾子が先立つこともありますが、どの種類のフォーマットが望まれているか指定します。 ほとんどのディレクティブは1つか複数の要素の引数 expr_1, ..., expr_nを使い、出力を生成します。
もし destがストリームか true
なら、 printf
は false
を返します。
そうでなければ、 printf
は出力を含む文字列を返します。
printf
は Maximaの Common Lisp 関数 format
を提供します。
以下の例はこれら二つの関数の一般的な関係を具体的に示します。
(%i1) printf(true, "R~dD~d~%", 2, 2); R2D2 (%o1) false (%i2) :lisp (format t "R~dD~d~%" 2 2) R2D2 NIL |
以下の記述は printf
の可能性の雑なスケッチに限定されます。
Lisp関数 format
は詳細は多くの参考書籍に記述されています。
例えば、 Guy L. Steeleによる無料のオンラインマニュアル "Common Lisp the Language"が役立つでしょう。
それの chapter 22.3.3を参照してください。
~% 改行 ~& 行のフレッシュ ~t タブ ~$ 通貨記号 ~d 10進整数 ~b 2進整数 ~o 8進整数 ~x 16進整数 ~br b進整数 ~r 整数を一字一字 ~p 複数形 ~f 浮動小数点 ~e 科学的記数法 ~g 大きさに応じて~fまたは~e ~h 多倍長浮動小数点 ~a Maxima関数文字列を使う ~s ~aと同様, しかし"ダブルコーテーション"で囲まれた出力 ~~ ~ ~< 行揃え, ~> 終端 ~( 大文字小文字変換, ~) 終端 ~[ 選択, ~] 終端 ~{ 繰り返し, ~} 終端 |
多倍長浮動小数点に関するディレクティブ ~hは Lisp標準ではないので、以下に具体的に示します。
ディレクティブ ~*はサポートされていないことに注意してください。
もし destがストリームか true
なら、 printf
は false
を返します。
そうでなければ、 printf
は出力を含む文字列を返します。
(%i1) printf( false, "~a ~a ~4f ~a ~@r", "String",sym,bound,sqrt(12),144), bound = 1.234; (%o1) String sym 1.23 2*sqrt(3) CXLIV (%i2) printf( false,"~{~a ~}",["one",2,"THREE"] ); (%o2) one 2 THREE (%i3) printf(true,"~{~{~9,1f ~}~%~}",mat ), mat = args(matrix([1.1,2,3.33],[4,5,6],[7,8.88,9]))$ 1.1 2.0 3.3 4.0 5.0 6.0 7.0 8.9 9.0 (%i4) control: "~:(~r~) bird~p ~[is~;are~] singing."$ (%i5) printf( false,control, n,n,if n=1 then 1 else 2 ), n=2; (%o5) Two birds are singing. |
ディレクティブ ~hは多倍長浮動小数点を扱うために導入されました。
~w,d,e,x,o,p@H w : width d : decimal digits behind floating point e : minimal exponent digits x : preferred exponent o : overflow character p : padding character @ : display sign for positive numbers |
(%i1) fpprec : 1000$ (%i2) printf(true, "|~h|~%", 2.b0^-64)$ |0.0000000000000000000542101086242752217003726400434970855712890625| (%i3) fpprec : 26$ (%i4) printf(true, "|~h|~%", sqrt(2))$ |1.4142135623730950488016887| (%i5) fpprec : 24$ (%i6) printf(true, "|~h|~%", sqrt(2))$ |1.41421356237309504880169| (%i7) printf(true, "|~28h|~%", sqrt(2))$ | 1.41421356237309504880169| (%i8) printf(true, "|~28,,,,,'*h|~%", sqrt(2))$ |***1.41421356237309504880169| (%i9) printf(true, "|~,18h|~%", sqrt(2))$ |1.414213562373095049| (%i10) printf(true, "|~,,,-3h|~%", sqrt(2))$ |1414.21356237309504880169b-3| (%i11) printf(true, "|~,,2,-3h|~%", sqrt(2))$ |1414.21356237309504880169b-03| (%i12) printf(true, "|~20h|~%", sqrt(2))$ |1.41421356237309504880169| (%i13) printf(true, "|~20,,,,'+h|~%", sqrt(2))$ |++++++++++++++++++++| |
Categories: File output ·Package stringproc
streamの一番目の文字を取り出し、返します。
ファイルの終端になったら、 readchar
は false
を返します。
例: make_string_input_streamを参照してください。
Categories: File input ·Package stringproc
streamの現在位置から行の終わりまでの文字を含む文字列か、
もしファイルの終わりが来たら false
を返します。
Categories: File input ·Package stringproc
引数を順に評価し、一番左から始まる「一行」に表示します。
数は数の右隣に’-’と共に印字され、行の長さを無視します。
もし中間行ブレークを置きたいなら、
newline()
― stringproc.lisp
から自動ロードされます―
が役に立つかもしれません。
例:
(%i1) for n:0 thru 19 do sprint( fib(n) )$ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 (%i2) for n:0 thru 22 do ( sprint(fib(n)), if mod(n,10)=9 then newline() )$ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 |
Categories: Package stringproc
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
もし charがアルファベット文字なら true
を返します。
Categories: Predicate functions ·Package stringproc
もし charがアルファベット文字か数字なら true
を返します。
Categories: Predicate functions ·Package stringproc
ASCIIコード int( -1 < int < 256 )に対応する文字を返します。
(%i1) for n from 0 thru 255 do ( tmp: ascii(n), if alphacharp(tmp) then sprint(tmp), if n=96 then newline() )$ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z |
Categories: Package stringproc
もし char_1と char_2が同じなら true
を返します。
Categories: Predicate functions ·Package stringproc
cequal
と同様ですが、文字の大小を無視します。
Categories: Predicate functions ·Package stringproc
もし char_1の ASCIIコードが char_2のそれより大きいなら
true
を返します。
Categories: Predicate functions ·Package stringproc
cgreaterp
と同様ですが、文字の大小を無視します。
Categories: Predicate functions ·Package stringproc
もし objが Maxima-文字なら true
を返します。
例えばイントロダクションを参照してください。
Categories: Predicate functions ·Package stringproc
charの ASCIIコードを返します。
Categories: Package stringproc
もし char_1の ASCIIコードが char_2のそれより小さいなら
true
を返します。
Categories: Predicate functions ·Package stringproc
clessp
と同様ですが、文字の大小を無視します。
Categories: Predicate functions ·Package stringproc
もし charがグラフィック文字であり、スペース文字でないなら、
true
を返します。
グラフィック文字は見ることができる文字とスペース文字です。
(constituent
は、
Paul Graham, ANSI Common Lisp, 1996, page 67で定義されています。)
(%i1) for n from 0 thru 255 do ( tmp: ascii(n), if constituent(tmp) then sprint(tmp) )$ ! " # % ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ |
Categories: Predicate functions ·Package stringproc
Lisp文字を Maxima文字に変換します。 (必要としないでしょう。)
Categories: Package stringproc
もし charが 0から 9までの数字なら true
を返します。
Categories: Predicate functions ·Package stringproc
もし objが Lisp文字なら true
を返します。
(必要としないでしょう。)
Categories: Predicate functions ·Package stringproc
もし charが小文字なら true
を返します。
Categories: Predicate functions ·Package stringproc
改行文字。
Categories: Global variables ·Package stringproc
スペース文字。
Categories: Global variables ·Package stringproc
タブ文字。
Categories: Global variables ·Package stringproc
もし charが大文字なら true
を返します。
Categories: Predicate functions ·Package stringproc
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
stringの base64表現を文字列として返します。
例:
(%i1) base64 : base64("foo bar baz"); (%o1) Zm9vIGJhciBiYXo= (%i2) string : base64_decode(base64); (%o2) foo bar baz |
Categories: Package stringproc
base64でコードされた文字列 base64-stringを元の文字列にデコードします。
例: base64を参照してください。
Categories: Package stringproc
stringの n番目の文字を返します。 stringの一番目の文字は n = 1で返されます。
(%i1) charat("Lisp",1); (%o1) L |
Categories: Package stringproc
stringの文字すべてのリストを返します。
(%i1) charlist("Lisp"); (%o1) [L, i, s, p] (%i2) %[1]; (%o2) L |
Categories: Package stringproc
文字列 strを Maxima式としてパースし、評価します。
文字列 strは終端子(ドル記号 $
またはセミコロン ;
)
を持つかもしれませんし持たないかもしれません。
もし複数あるなら、最初の式だけがパースされ、評価されます。
もし strが文字列でないならエラーが出力されます。
例:
(%i1) eval_string ("foo: 42; bar: foo^2 + baz"); (%o1) 42 (%i2) eval_string ("(foo: 42, bar: foo^2 + baz)"); (%o2) baz + 1764 |
parse_string
も参照してください。
Categories: Package stringproc
stringの md5チェックサムを文字列として返します。 戻り値を整数にパースするためには、入力基数を 16に設定して、文字列をゼロで前置してください。
例:
(%i1) string : md5sum("foo bar baz"); (%o1) ab07acbb1e496801937adfa772424bf7 (%i2) ibase : obase : 16.$ (%i3) integer : parse_string(sconcat(0, string)); (%o3) 0ab07acbb1e496801937adfa772424bf7 |
Categories: Package stringproc
文字列 strを Maxima式としてパースします(評価しません)。
文字列 strは終端子(ドル記号 $
またはセミコロン ;
)
を持つかもしれませんし持たないかもしれません。
もし複数あるなら、最初の式だけがパースされ、評価されます。
もし strが文字列でないならエラーが出力されます。
例:
(%i1) parse_string ("foo: 42; bar: foo^2 + baz"); (%o1) foo : 42 (%i2) parse_string ("(foo: 42, bar: foo^2 + baz)"); 2 (%o2) (foo : 42, bar : foo + baz) |
eval_string
も参照してください。
Categories: Package stringproc
stringのコピーを新しい文字列として返します。
Categories: Package stringproc
supcase
と同様ですが、大文字を小文字に変換します。
Categories: Package stringproc
もし string_1と string_2が同じ長さで、同じ文字を含むなら、
true
を返します。
Categories: Predicate functions ·Package stringproc
sequal
と同様ですが、文字の大小を無視します。
Categories: Predicate functions ·Package stringproc
sexplode
は関数charlist
の別名です。
Categories: Package stringproc
simplode
は式のリストを取り、それらを結合して文字列にします。
もしデリミタ delimを指定しないなら、
simplode
はデリミタを使いません。
delimは任意の文字列を取り得ます。
(%i1) simplode(["xx[",3,"]:",expand((x+y)^3)]); (%o1) xx[3]:y^3+3*x*y^2+3*x^2*y+x^3 (%i2) simplode( sexplode("stars")," * " ); (%o2) s * t * a * r * s (%i3) simplode( ["One","more","coffee."]," " ); (%o3) One more coffee. |
Categories: Package stringproc
substring (string, 1, pos - 1)
と
文字列
seq、substring (string, pos)
の結合となる文字列を返します。
stringの一番目の文字は位置 1にあることに注意してください。
(%i1) s: "A submarine."$ (%i2) concat( substring(s,1,3),"yellow ",substring(s,3) ); (%o2) A yellow submarine. (%i3) sinsert("hollow ",s,3); (%o3) A hollow submarine. |
Categories: Package stringproc
位置 startから endまでのそれぞれの文字を逆順にすることを除いて stringを返します。 もし endを与えないなら、 startから stringの終わりまでのすべての文字列を置き換えます。
(%i1) sinvertcase("sInvertCase"); (%o1) SiNVERTcASE |
Categories: Package stringproc
stringの中の文字の数を返します。
Categories: Package stringproc
num個の文字 charを持つ新しい文字列を返します。
(%i1) smake(3,"w"); (%o1) www |
Categories: Package stringproc
string_1と string_2が異なる
string_1の最初の文字の位置、または false
を返します。
マッチングのデフォルトのテスト関数は sequal
です。
もし smismatch
が文字の大小を無視なければいけないなら、
テストとして sequalignore
を使ってください。
(%i1) smismatch("seven","seventh"); (%o1) 6 |
Categories: Package stringproc
stringのすべてのトークンのリストを返します。
それぞれのトークンはパースされていない文字列です。
split
は delimをデリミタとして使います。
もし delimが与えられないなら、
スペース文字がデフォルトのデリミタです。
multipleはデフォルトで true
のブーリアン変数です。
重複デリミタが 1つとして読まれます。
これは、もしタブが複数スペース文字として保存されているなら、役立ちます。
もしmultipleが false
に設定されるなら、
それぞれのデリミタが有効です。
(%i1) split("1.2 2.3 3.4 4.5"); (%o1) [1.2, 2.3, 3.4, 4.5] (%i2) split("first;;third;fourth",";",false); (%o2) [first, , third, fourth] |
Categories: Package stringproc
stringの中で charとマッチする最初の文字の位置を返します。
stringの一番目の文字は位置 1にあります。
文字の大小を無視した文字のマッチに関しては,
ssearch
を参照してください。
Categories: Package stringproc
string同様文字列を返しますが、
seqとマッチする部分文字列すべてなしに返します。
マッチのデフォルトのテスト関数は sequal
です。
もし sremove
が seqを検索する間文字の大小を無視しなければいけないなら、
テストとして sequalignore
を使ってください。
探索を限定するには startと endを使ってください。
stringの一番目の文字は位置 1にあることに注意してください。
(%i1) sremove("n't","I don't like coffee."); (%o1) I do like coffee. (%i2) sremove ("DO ",%,'sequalignore); (%o2) I like coffee. |
Categories: Package stringproc
seq
とマッチする最初の文字列だけが削除されることを除いて、
sremove
同様です。
Categories: Package stringproc
stringの文字すべてが逆順の文字列を返します。
Categories: Package stringproc
文字列seqとマッチする stringの最初の部分文字列の位置を返します。
マッチのためのデフォルトのテスト関数は sequal
です。
もし ssearch
が文字の大小を無視しなければいけないなら、
テストとして sequalignore
を使ってください。
検索を限定するには startと endを使ってください。
stringの一番目の文字は位置 1にあることに注意してください。
(%i1) ssearch("~s","~{~S ~}~%",'sequalignore); (%o1) 4 |
Categories: Package stringproc
test (c, d)
が false
、かつ、
test (d, c)
が true
であるような 2つの連続する文字
cと dがないような順で stringの文字すべてを含む文字列を返します。
ソートのためのデフォルトのテスト関数は clesspです。
テスト関数一式は
{clessp, clesspignore, cgreaterp, cgreaterpignore, cequal, cequalignore}
です。
(%i1) ssort("I don't like Mondays."); (%o1) '.IMaddeiklnnoosty (%i2) ssort("I don't like Mondays.",'cgreaterpignore); (%o2) ytsoonnMlkIiedda.' |
Categories: Package stringproc
stringの中の oldにマッチするすべての部分文字列を
newで置き換えた文字列を返します。
oldと newは同じ長さである必要はありません。
マッチのためのデフォルトのテスト関数は sequal
です。
もし ssubst
が oldを検索する間大文字小文字を無視すべきなら、
テストとして sequalignore
を使ってください。
検索を制限するには startと endを使ってください。
stringの一番目の文字は位置 1にあることに注意してください。
(%i1) ssubst("like","hate","I hate Thai food. I hate green tea."); (%o1) I like Thai food. I like green tea. (%i2) ssubst("Indian","thai",%,'sequalignore,8,12); (%o2) I like Indian food. I like green tea. |
Categories: Package stringproc
oldとマッチする最初の部分文字列だけを置き換えることを除いて、
subst
と同様です。
Categories: Package stringproc
stringの両端から seqに現れるすべての文字を除いた文字列を返します。
(%i1) "/* comment */"$ (%i2) strim(" /*",%); (%o2) comment (%i3) slength(%); (%o3) 7 |
Categories: Package stringproc
stringの左端だけトリムすることを除いて
strim
と同様です。
Categories: Package stringproc
stringの右端だけトリムすることを除いて
strim
と同様です。
Categories: Package stringproc
objが文字列なら true
を返します。
例はイントロダクションを参照してください。
Categories: Predicate functions ·Package stringproc
位置 startで始まり位置 endで終わる stringの部分文字列を返します。 位置 endの文字は含まれません。 もし endが与えられないなら、部分文字列は文字列の残りを含みます。 stringの一番目の文字は位置 1にあることに注意してください。
(%i1) substring("substring",4); (%o1) string (%i2) substring(%,4,6); (%o2) in |
Categories: Package stringproc
stringの位置 startから endまでの小文字を対応する大文字に置き換えた文字列を返します。 もし endが与えられないなら、 startから stringの終わりまでのすべての小文字が置き換えられます。
(%i1) supcase("english",1,2); (%o1) English |
Categories: Package stringproc
stringから抽出されたトークンのリストを返します。
トークンは、文字があるテスト関数を満たす部分文字列です。
もしtestを与えないなら、
constituentをデフォルトテストとして使います。
{constituent, alphacharp, digitcharp, lowercasep, uppercasep, charp, characterp, alphanumericp}
はテスト関数一式です。
(tokens
の LispバージョンはPaul Grahamによって書かれました。
ANSI Common Lisp, 1996, page 67.)
(%i1) tokens("24 October 2005"); (%o1) [24, October, 2005] (%i2) tokens("05-10-24",'digitcharp); (%o2) [05, 10, 24] (%i3) map(parse_string,%); (%o3) [5, 10, 24] |
Categories: Package stringproc
[ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は市川 雄二によって2014年1月月14日にtexi2html 1.82を用いて生成されました。