- 原材料: A社
- 製造: B社
- 卸: C社
- 小売: D社
消費税が無い状態で、小売売価100、卸値70、製造販売価50、原材料価格20とする。1個商品が売れた場合
| |売価|仕入れ値|粗利|
| ;; -*- coding:utf-8 -*- | |
| (define-syntax 入 lambda) | |
| (define-syntax 亼 | |
| (er-macro-transformer | |
| (入 [f r c] | |
| (quasirename r | |
| (入 (,'_) ,@(cdr f)))))) | |
| #| |
| (define-library (d) | |
| (import (scheme base)) | |
| (begin | |
| (define-values (a$1 b$1 c$1 d$1 e$1 f$1 g$1 h$1 | |
| i$1 j$1 k$1 l$1 m$1 n$1 o$1 p$1 | |
| q$1 r$1 s$1) | |
| (values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)) | |
| (define-values (a$2 b$2 c$2 d$2 e$2 f$2 g$2 h$2 | |
| i$2 j$2 k$2 l$2 m$2 n$2 o$2 p$2 | |
| q$2 r$2 s$2) |
| (define-library (a) | |
| (import (scheme base)) | |
| (export a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 | |
| a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 | |
| a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 | |
| a58 a59 a60 a61 a62 a63 a64 a65 a66 a67 a68 a69 a70 a71 a72 a73 a74 a75 a76 | |
| a77 a78 a79 a80 a81 a82 a83 a84 a85 a86 a87 a88 a89 a90 a91 a92 a93 a94 a95 | |
| a96 a97 a98 a99 a100 a101 a102 a103 a104 a105 a106 a107 a108 a109 a110 a111 | |
| a112 a113 a114 a115 a116 a117 a118 a119 a120 a121 a122 a123 a124 a125 a126 | |
| a127 a128 a129 a130 a131 a132 a133 a134 a135 a136 a137 a138 a139 a140 a141 |
| [1]> (defvar a 0) | |
| A | |
| [2]> (defvar b 1) | |
| B | |
| [3]> (setf (if t a b) 10) | |
| 10 | |
| [4]> a | |
| 10 | |
| [5]> b | |
| 1 |
| gosh> (describe 64) | |
| 64 is an instance of class <integer> | |
| (#x40, #\@ as char, 1970-01-01T00:01:04Z as unix-time) | |
| gosh> (describe 1234567890) | |
| 1234567890 is an instance of class <integer> | |
| (#x499602d2, ~ 1.2Gi, 2009-02-13T23:31:30Z as unix-time) |
| ;; objsは文字列のリストに限らず任意のオブジェクトのリスト | |
| (defun join (separator objs) | |
| (format nil "~{~a~#,1^~a~}" (mapcan (lambda (s) (list s separator)) objs))) | |
| ;; separatorが固定なら多少わかりやすい。というかこのケースならformatを直接書くだろう。 | |
| (defun join-by-comma (objs) | |
| (format nil "~{~a~^, ~}" objs)) | |
| #| | |
| [6]> (join "-" '(tic tac toe)) |
| gosh> (define a '#0=(#1=(#0#))) | |
| a | |
| gosh> (define b (car a)) | |
| b | |
| gosh> (eq? b (car a)) | |
| #t | |
| gosh> (eq? a (car b)) | |
| #t | |
| gosh> (equal? a b) | |
| #t |
| (use math.prime) | |
| (do ([p *primes* (cdr p)] | |
| [n 1 (+ n 1)] | |
| [sum 2 (+ sum (cadr p))]) | |
| [#f] | |
| (when (integer? (/ sum n)) | |
| (format #t "f(~d) = ~d (~a)\n" n (/ sum n) | |
| (if (bpsw-prime? (/ sum n)) "prime" "composite")))) |
| gosh> (define (foo ls) | |
| (if (null? ls) | |
| '(0) | |
| (map + ls (append (foo (cdr ls)) '(0))))) | |
| foo | |
| gosh> (foo '(1 2 3)) | |
| (6 5 3) | |
| ;; 1 2 3 | |
| ;; 2 3 0 |