Emacs

Table of Contents

1. Emacsの学習記録

  • org-modeを利用して学習。
    • htmlへの出力は"C-c C-e" -> h -> o
  • org-mode内でのelispの実行は"C-c C-c"で行う。

1.1. Elisp

  • グローバル変数 : setq
  • ローカル変数 : let
    • スコープは()の中だけ。

1.1.1. 四則演算

(+ 1 9)
10
(/ 2.2 2)
1.1
(+ 1 2 (* 3 4) 5 6)
26

1.1.2. 変数

;  - (let ((変数名 値))
;      処理1
;      処理2
;      ...)

  (let ((x 50))
    (* x 100)
    )

5000
; 2つ以上の変数定義
(let ((price 100)
      (tax 1.1))
  (* price tax))
110.00000000000001
  ; 1は実行されるが、値を返すのは最後の結果だけ
(let ((hoge 100)
      (huga 200))
  (message "1, hoge : %d, huga : %d" hoge huga)
  (message "2, hoge : %d, huga : %d" hoge huga))
2, hoge : 100, huga : 200
; 定義した変数を次以降の処理で使用したい時
; let*で変数定義する。
; letの場合は全変数が同時に作成される。
(let* ((a 200)
       (b (+ a 20)))
  (+ a b))
420

1.1.3. if文

;(if 条件式
;  Trueの時の処理
;  Falseの時の処理)
(let ((score 80))
  (if (>= score 60)
      "合格"
      "不合格"))


合格
(let ((n 15))
(if (= (% n 3) 0)
(progn
  (message "Fizz")
  (sit-for 1.0)
  "割り切れました。")
n))
割り切れました。
(let ((temp 29))
  (if (>= temp 30)
      (progn
        (message "暑い冷房ON")
        (sit-for 1.0)
        "稼働中")
      (progn
        (message "まだ涼しいぞ")
        (sit-for 1.0)
        "待機中")))

待機中
(defun air-conditioner (temp)
  (if (>= temp 30)
      (progn
        (message "暑い! 冷房ON")
        (sit-for 1.0)
        "稼働中")

      "待機中"))

air-conditioner
(air-conditioner 35)
;(air-conditioner 20)
稼働中

Author: kenta

Created: 2026-02-18 水 23:58

Validate