--- title: 第14章・入出力 author: kazu634 date: 2008-11-16 wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4381;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - gauche - Lisp ---
ゆっくりと勉強は進行中。今日は入出力です。
readなどの手続きを用いるようです。
このような手続きがある:
write | 引数に渡されたオブジェクトの外部表現を出力します |
---|---|
display | 引数に渡されたオブジェクトそれぞれが読みやすい形で出力します |
displayと基本的に同じだけど、最後に改行を挿入します | |
format | C言語でいうところのprintfです |
formatについては
(format <出力先> <書式指定> <引数>)
という使い方です。出力先は#tの場合、デフォルトでは標準出力にフォーマットされた結果が出力される。#fの場合、formatした結果を戻り値とする。書式指定には以下のようなパラメータがあるよ:
~d | ~b | ~o | ~x |
---|---|---|---|
10進数 | 2進数 | 8進数 | 16進数 |
gosh> (write 123) 123#<undef> gosh> (display #\a) a#<undef> gosh> (display "Gauche\n") Gauche #<undef> gosh> (print "gauche") gauche #<undef> gosh> (format #f "Result = |~10@a|\n" (* 3 4)) "Result = | 12|\n" gosh> (format #t "Result = |~10@a|\n" (* 3 4)) Result = | 12| #<undef>