プロジェクト

全般

プロフィール

操作

第2回目のソースコード

リスト1:ジャンケン(Javaの場合)

// Java
import static java.lang.Math.*;
public class Jyanken {

    public static String guu_choki_pa(double r) {
       if (r < 0.33)  {
          return "Guu";
       } else if (r < 0.66) {
          return "Choki";
       } else {
          return "Pa";
       }
    }

    public static void jyanken() {
        System.out.println(guu_choki_pa(random()));
    }

    public static void main(String args[]) {
        for (int i = 0; i < 10; i++) {
            jyanken();
        }
    }
}

リスト2:ジャンケン(Gaucheの場合)

(use srfi-27)

(define (guu-choki-pa r)
  (cond ((< r 0.33) "Guu")
        ((< r 0.66) "Choki")
        (else "Pa")))

(define (jyanken)
  (print (guu-choki-pa (random-real))))

(dotimes (i 10) (jyanken))

リスト5:S式を与えると対応するHTMLを出力するプログラム

(define (print-html e)
 (cond ((list? e)
        (print-open-tag (car e))
        (print-html-list (cdr e))
        (print-close-tag (car e)))
        (else (display e))))

(define (print-html-list s)
 (cond ((null? s) #f)
       (else
        (print-html (car s))
        (print-html-list (cdr s)))))

(define (print-open-tag tag)
 (display "<")
 (display tag)
 (display ">"))

(define (print-close-tag tag)
 (display "</")
 (display tag)
 (display ">"))

(define gauche-page
 '(html
   (head (title "Gauche Web"))
   (body (h1 "Gauche Web Page")
         (table (tr (td 1)(td "lisp"))
                (tr (td 2)(td "scheme"))))))

(print-html gauche-page)

Yuumi Yoshida さんが9年以上前に更新 · 4件の履歴