kiyoka.2010_04_01 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2010_04
55555555555555555555555555555555555555555555
5

[Nendo] Gaucheのtext.html-liteをポーティングできた

5

私がRubyで書いているLisp方言、 Nendoについて。

5

 

5

Gaucheから持ってきた text.html-lite が動いた。感動!

5

(Gaucheのリファレンスマニュアル: Gauche ユーザリファレンス: 11.36 text.html-lite - シンプルなHTMLドキュメントの構築EXT)

5

いざポーティングしようとすると、Nendoにnullリスト関連のバグがたくさん見つかったが。

5

ついでに text.tree も必要だったのでポーティングした。

5

 

5

しかし、まだNendoからRubyのHashにアクセスできないので、まだちゃんとしたCGIスクリプトが書けない…

5

現状でできる範囲のサンプルはこんな感じ。

5
#!/bin/sh
5
:; #-*- mode: nendo; syntax: scheme -*-;;
5
:; exec /usr/local/bin/nendo $0 $*
5
5
(load-library "text/html-lite")
5
(load-library "text/tree")
5
(require "cgi")
5
5
(define (params-list-page cgi)
5
  `(
5
    ,(html-doctype)
5
    ,(html:head
5
      (html:title "CGI parameter list"))
5
    ,(html:body
5
      (html:h1 "CGI parameter list")
5
      (html:table :border 1
5
                  (for-each
5
                   (lambda (x)
5
                     (html:tr
5
                      (html:td x)))
5
                   (to-list (cgi.params.keys)))))))
5
5
(let1 cgi (CGI.new)
5
  (cgi.print
5
   (cgi.header))
5
  (cgi.print
5
   (tree->string
5
    (params-list-page cgi))))
5

 

5

Rubyの大量のライブラリ(gem)が使えるとなったら、いろいろ試したいことがある。

5

例えば、Excelファイルをアップロード/ダウンロードするとか、ImageMagickで画像を生成して返すとか。

5

やっと、S式でRubyプログラミングの雰囲気が出てきたぞ。

5

 

5

...comment disabled...