6.2 KiB
6.2 KiB
title | author | date | url | wordtwit_post_info | categories | |||
---|---|---|---|---|---|---|---|---|
『プログラミングGauche』を読む | kazu634 | 2008-10-25 | /2008/10/25/_1133/ |
|
|
『プログラミングGauche』の勉強だよ。気になった部分だけ抜粋。
出力
format手続きを使うよ。これはCのprintfと一緒。
;; formatの使い方 ;; "~d": 10進数 ;; "~b": 2進数 ;; "~o": 8進数 ;; "~x": 16進数 ;; ~とアルファベットの間の数字は桁数を示す gosh> (format #t "Result = |~3@a|\n" (* 3 4)) Result = | 12| #<undef> gosh> (format #t "Result = |~5@a|\n" (* 3 4)) Result = | 12| #<undef> gosh> (format #t "Result = |~10@a|\n" (* 3 4)) Result = | 12| #<undef>
ハッシュ
ハッシュも使えるよ。Perlから影響を受けて作ったそうなので、かなり簡単に使えるようになっている気がする。
;; === ハッシュ === ;; ハッシュの生成 (define hash-table (make-hash-table)) ;; ハッシュにデータを追加 (hash-table-put! hash-table 'name "Gauche") ;; ハッシュからデータを入手する (hash-table-get hash-table 'name) ;; ハッシュからデータを削除する (hash-table-delete! hash-table 'name) ;; ハッシュのキーに複数のデータを登録する ;; nameキーに「Gauche」と「foo」をヒモづける (hash-table-push! hash-table 'name "Gauche") (hash-table-push! hash-table 'name "foo") ;; ハッシュのキーからポップする (hash-table-pop! hash-table 'name) ;; ハッシュのキーを列挙 (hash-table-keys hash-table) ;; ハッシュのvalueを列挙 (hash-table-values hash-table) ;; ハッシュのキーと組になる値を表示する (hash-table-for-each hash-table (lambda (key value) (print #`",|key| : ,|value|"))) ;; ハッシュのキーと値をベクターにする (hash-table-map hash-table (lambda (key value) (vector key value)))