繰り返し : common lisp
common lispで繰り返し ;;;再帰を使う方法 (defun repeat1(x) (if (< x 0) 'nil (progn (print x) (repeat1 (- x 1))))) (repeat1 10) (defun repeat2(x) (cond ((< x 0)'nil) (t (print x) (repeat2 (- x 1))))) (repeat2 10) ;;loopマクロを使う方法 (loop for x from 10 downto 1 do(print x))
焦点化
周りの空気に飲まれそうなとき、
指先を見たり、ひざをトントンしたりして、身体の感覚に焦点をあてるといい。
周囲の期待に応えすぎる必要はない。
C言語:ポインタ (関数ポインタ)
C言語のポインタについて。
ポインタは、メモリ上のデータの場所を指し示す(point)機能です。データの場所をアドレス(address)といいます。
C言語では、データを、ポインタを通して間接的に操作できます。
レストランで料理を頼むとき、メニューを指してウェイターに注文しますね。コックさんは、ウェイターから注文を聞いて料理を作ります。ポインターとは、ここでメニューのようなものです。
C言語での関数は、処理の手続きをまとめたものです。関数もアドレスを持つので、ポインタを通して関数を実行することができます。
ここでは、関数ポインタとしてfn_ptrを宣言しています。その関数ポインタにfuncという関数へのポインタを代入しています。その後、*ptrを利用してfn_ptrが指す先、つまり、関数funcを実行しています。