Function WRITE-SEQUENCE

UP


Function WRITE-SEQUENCE

Function WRITE-SEQUENCE

構文

write-sequence sequence stream &key start end => sequence

引数と戻り値

sequence - シーケンス
stream - 出力ストリーム
start, end - stringの境界インデックス指定子。 デフォルトはstart, endそれぞれ0nil

定義

write-sequenceは、 startendの境界に囲まれたsequenceの部分シーケンスの要素を streamに書き込みます。

例文

(write-sequence "bookworms" *standard-output* :end 4)
>>  book
=>  "bookworms"

副作用

streamは修正されます。

影響

なし。

例外

sequenceが正常なシーケンスではなかったときは、 型type-errorのエラーを通知する準備をしなければなりません。 startが非負の整数ではなかったときは、 型type-errorのエラーを通知する準備をしなければなりません。 endが非負の整数かnilではなかったときは、 型type-errorのエラーを通知する準備をしなければなりません。

streamから読み込まれた要素が、 sequenceの要素の型ではなかったときは、 型type-errorのエラーを通知されるかもしれません。

参考

3.2.1. コンパイラーの用語, read-sequence, write-string, write-line

備考

write-sequenceは、指定した部分シーケンスに対して ひとつずつ要素をstreamに書き込む繰り返しと同じ効果ですが、 おそらくは同等のループよりもより効率的になります。

ある効率の良い実装では、 sequencestreamの要素と同じ型のvectorである場合に より効率的になるかもしれません。


TOP, Github