<commit_before># study-4clojure

## Usage

### 문제 가져오기
4clojure 사이트에서 복사해와도 되지만, Emacs의 4clojure.el 사용하면 편리하다.
- M-x 4clojure-open-question 으로 문제 연다 (또는 M-x 4clojure-next-question)
- C-x C-w 로 p*_q.clj로 저장.
- C-x C-w 로 p*_a.clj로 저장.

### 문제 풀기
편리한 에디터로 p*_a.cljs 에 문제 풀고 저장. 나의 경우 Cursive Clojure를 사용함.<commit_msg>문제 저장 팁 추가<commit_after># study-4clojure

## Usage

### 문제 가져오기
4clojure 사이트에서 복사해와도 되지만, Emacs의 4clojure.el 사용하면 편리하다.
- M-x 4clojure-open-question 또는 M-x 4clojure-next-question 으로 문제 연다.

### 문제 저장
1. C-x C-w 로 p*_q.clj로 저장.
2. C-x C-w 로 p*_a.clj로 저장.

또는 다음 코드에서 각자에 맞게 path를 수정하여 .emacs에 추가하면 M-x 4clojure-save 로 손쉽게 저장할 수 있다.
```
(defun 4clojure-save ()
  (interactive)
  (let ((num (read-from-minibuffer "Which 4clojure question? "))
        (path "~/project/study-4clojure/src/study_4clojure/"))
    (write-file (concat path "p" num "_q.clj"))
    (write-file (concat path "p" num "_a.clj"))))
```

### 문제 풀기
편리한 에디터로 p*_a.cljs 에 문제 풀고 저장. 나의 경우 Cursive Clojure를 사용함.
{'fraction_non_alphanumeric': 0.14676113360323886, 'fraction_numerical': 0.01720647773279352, 'mean_word_length': 3.0867768595041323, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2904901', 'n_tokens_mistral': 639, 'n_tokens_neox': 720, 'n_words': 135}