ruby_learner 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/docs/thesis/competing_services.org +21 -0
- data/docs/thesis/manual.org +55 -0
- data/docs/thesis/mid_term.pptx +0 -0
- data/lib/ruby_learner/common.rb +45 -0
- data/lib/ruby_learner/ruby_learner.rb +9 -17
- data/lib/ruby_learner/sequential_main.rb +146 -0
- data/lib/ruby_learner/typing_practice.rb +82 -10
- data/lib/ruby_learner/version.rb +1 -1
- data/workshop/emacs.d/init.el +1 -76
- data/workshop/emacs.d/ruby_learner_init.el +0 -76
- metadata +7 -83
- data/lib/ruby_learner/methods.rb +0 -290
- data/workshop/emacs.d/#init# +0 -1
- data/workshop/emacs.d/ac-comphist.dat +0 -50
- data/workshop/emacs.d/cp5022x.el +0 -156
- data/workshop/emacs.d/elpa/archives/gnu/archive-contents +0 -1240
- data/workshop/emacs.d/elpa/archives/melpa/archive-contents +0 -2
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-autoloads.el +0 -65
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.el +0 -551
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.elc +0 -0
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-pkg.el +0 -6
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.el +0 -2164
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.elc +0 -0
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ada-mode +0 -72
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c++-mode +0 -99
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c-mode +0 -55
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/caml-mode +0 -231
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojure-mode +0 -580
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojurescript-mode +0 -475
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/coq-mode +0 -278
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/css-mode +0 -874
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/erlang-mode +0 -216
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ess-julia-mode +0 -37
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/go-mode +0 -25
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/haskell-mode +0 -679
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/java-mode +0 -53
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/js-mode +0 -148
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/julia-mode +0 -37
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/lua-mode +0 -21
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/nim-mode +0 -70
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/objc-mode +0 -161
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/octave-mode +0 -46
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/php-mode +0 -6144
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/python-mode +0 -379
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/qml-mode +0 -183
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ruby-mode +0 -181
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scala-mode +0 -1347
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scheme-mode +0 -216
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sclang-mode +0 -1481
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sh-mode +0 -182
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/swift-mode +0 -87
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tcl-mode +0 -172
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ts-mode +0 -797
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tuareg-mode +0 -231
- data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/verilog-mode +0 -313
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-autoloads.el +0 -16
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-pkg.el +0 -2
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.el +0 -90
- data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.elc +0 -0
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-autoloads.el +0 -26
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-pkg.el +0 -2
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.el +0 -877
- data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.elc +0 -0
- data/workshop/emacs.d/elpa/haml-mode-readme.txt +0 -8
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.el +0 -918
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.elc +0 -0
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-autoloads.el +0 -32
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-pkg.el +0 -8
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.el +0 -912
- data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.elc +0 -0
- data/workshop/emacs.d/elpa/ox-bibtex-chinese-readme.txt +0 -21
- data/workshop/emacs.d/elpa/popup-20160709.729/popup-autoloads.el +0 -15
- data/workshop/emacs.d/elpa/popup-20160709.729/popup-pkg.el +0 -2
- data/workshop/emacs.d/elpa/popup-20160709.729/popup.el +0 -1432
- data/workshop/emacs.d/elpa/popup-20160709.729/popup.elc +0 -0
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-autoloads.el +0 -33
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-pkg.el +0 -2
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.el +0 -470
- data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.elc +0 -0
- data/workshop/emacs.d/elpa/yaml-mode-readme.txt +0 -25
- data/workshop/emacs.d/haml-mode-master/.gitignore +0 -1
- data/workshop/emacs.d/haml-mode-master/.mailmap +0 -2
- data/workshop/emacs.d/haml-mode-master/MIT-LICENSE +0 -20
- data/workshop/emacs.d/haml-mode-master/README.md +0 -47
- data/workshop/emacs.d/haml-mode-master/haml-mode.el +0 -887
- data/workshop/emacs.d/iceberg_theme.el +0 -202
- data/workshop/emacs.d/init-open-recentf.el +0 -133
- data/workshop/emacs.d/install-elisp.el +0 -366
- data/workshop/emacs.d/notes +0 -12
- data/workshop/emacs.d/processing-mode/processing-mode.el +0 -275
- data/workshop/emacs.d/recentf +0 -31
- data/workshop/emacs.d/wiki-mode/wiki.el +0 -976
data/lib/ruby_learner/version.rb
CHANGED
data/workshop/emacs.d/init.el
CHANGED
@@ -1,34 +1,18 @@
|
|
1
|
-
;; るびきちのyaml-modeの説明従って..
|
2
|
-
;; http://emacs.rubikitch.com/yaml-mode/
|
3
|
-
;; 学内からはsetproxyを忘れぬように.
|
4
1
|
(require 'package)
|
5
|
-
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
6
|
-
(add-to-list 'package-archives '("marmalade" . "http://maramalae-repo.org/packages/"))
|
7
2
|
(add-to-list 'package-archives '("org" . "http:/orgmode.org/elpa/") t)
|
8
3
|
(add-to-list 'package-archives '("org-plus-contrib" . "https:/orgmode.org/elpa/contrib") t)
|
9
4
|
|
10
5
|
(fset 'package-desc-vers 'package--ac-desc-version)
|
11
6
|
(package-initialize)
|
12
7
|
|
13
|
-
;; '(("gnu" . "http://elpa.gnu.org/packages/")
|
14
|
-
|
15
|
-
;; るびきちのemacs lispテクニックバイブルに従ってdefaultの色つけを活性化
|
16
|
-
;; (require 'generic-x)
|
17
|
-
;; tabの自動生成がうっとおしいからやめた
|
18
|
-
|
19
8
|
;; elファイルの置き場所を設定
|
20
9
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/inits" load-path))
|
21
10
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/ruby-mode" load-path))
|
22
|
-
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/processing-mode" load-path))
|
23
|
-
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/haml-mode-master" load-path))
|
24
11
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/org-mode" load-path))
|
25
12
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/themes" load-path))
|
26
13
|
;;setting_theme
|
27
14
|
(add-to-list 'custom-theme-load-path "~/ruby_learner/workshop/.emacs.d/themes")
|
28
15
|
(setq custom-theme-directory "~/ruby_learner/workshop/.emacs.d/themes")
|
29
|
-
;;(load-theme 'iceberg t)
|
30
|
-
;;(load-theme 'dracula t)
|
31
|
-
;;(load-theme 'my-misterioso t)
|
32
16
|
(load-theme 'my-wombat t)
|
33
17
|
|
34
18
|
;; 起動時にスタートアップ画面を表示しない
|
@@ -42,11 +26,10 @@
|
|
42
26
|
:foreground "#999999"
|
43
27
|
:background "#000000"
|
44
28
|
:height 0.9)
|
29
|
+
;; 背景色を設定
|
45
30
|
(set-face-background 'default "#121212")
|
46
31
|
;; 括弧補完
|
47
32
|
;;(electric-pair-mode 1)
|
48
|
-
;; 行数を指定してジャンプする (goto-line)
|
49
|
-
;;(global-set-key "\C-l" 'goto-line)
|
50
33
|
;; 言語を日本語に設定
|
51
34
|
(set-language-environment 'Japanese)
|
52
35
|
;; 極力UTF-8とする
|
@@ -59,21 +42,10 @@
|
|
59
42
|
(setq coding-system-for-write 'utf-8)
|
60
43
|
(require 'ruby-mode)
|
61
44
|
(defun ruby-mode-set-encoding () nil)
|
62
|
-
;; C-zでUndo
|
63
|
-
;;(global-set-key "\C-z" 'undo)
|
64
|
-
;; 行番号をデフォルトで表示
|
65
|
-
;;(require 'line-num)
|
66
|
-
;;(global-linum-mode 1)
|
67
45
|
;; 対応する括弧を光らせる
|
68
46
|
(show-paren-mode 1)
|
69
|
-
;; 最近使ったファイルの一覧
|
70
|
-
(recentf-mode 1)
|
71
47
|
;; タイトルバーに開いているバッファのパスを表示
|
72
48
|
(setq frame-title-format (format "%%f - Emacs@%s" (system-name)))
|
73
|
-
;; 現在行を目立たせる
|
74
|
-
;; (global-hl-line-mode)
|
75
|
-
;; バックアップファイルを作らない
|
76
|
-
;; (setq backup-inhibited t)
|
77
49
|
;; モードラインに時間を表示する
|
78
50
|
(display-time)
|
79
51
|
;; 現在の関数名をモードラインに表示
|
@@ -81,20 +53,6 @@
|
|
81
53
|
;; 選択部分のインデント
|
82
54
|
(global-set-key "\C-x\C-i" 'indent-region)
|
83
55
|
|
84
|
-
(defun linux-c-mode ()
|
85
|
-
"C mode with adjusted defaults for use with the Linux kernel."
|
86
|
-
(interactive)
|
87
|
-
(c-mode)
|
88
|
-
(setq c-indent-level 8)
|
89
|
-
(setq c-brace-imaginary-offset 0)
|
90
|
-
(setq c-brace-offset -8)
|
91
|
-
(setq c-argdecl-indent 8)
|
92
|
-
(setq c-label-offset -8)
|
93
|
-
(setq c-continued-statement-offset 8)
|
94
|
-
(setq indent-tabs-mode nil)
|
95
|
-
(setq tab-width 8)
|
96
|
-
)
|
97
|
-
|
98
56
|
;; ======================================================================
|
99
57
|
;; Ruby mode
|
100
58
|
;; ======================================================================
|
@@ -144,39 +102,6 @@
|
|
144
102
|
(global-set-key (kbd "C-c h") 'hs-hide-block)
|
145
103
|
(global-set-key (kbd "C-c s") 'hs-show-block)
|
146
104
|
|
147
|
-
;; ======================================================================
|
148
|
-
;; Processing mode
|
149
|
-
;; ======================================================================
|
150
|
-
;;(add-to-list 'load-path "/Users/bob/ruby-processing/processing2-emacs")
|
151
|
-
(autoload 'processing-mode "processing-mode" "Processing mode" t)
|
152
|
-
(add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode))
|
153
|
-
(setq processing-indent-level 2)
|
154
|
-
|
155
|
-
(setq processing-location "/Users/bob/bin/processing-java")
|
156
|
-
(setq processing-application-dir "/Applications/Processing.app")
|
157
|
-
(setq processing-sketch-dir "~/Documents/Processing")
|
158
|
-
|
159
|
-
(setq-default indent-tabs-mode nil)
|
160
|
-
(setq tab-width 2)
|
161
|
-
|
162
|
-
;; =======================
|
163
|
-
;; haml mode
|
164
|
-
;; =======================
|
165
|
-
;;``` lisp
|
166
|
-
(require 'haml-mode)
|
167
|
-
;;```
|
168
|
-
(autoload 'haml-mode "haml-mode" "haml mode" t)
|
169
|
-
(add-to-list 'auto-mode-alist '("\\.haml$" . haml-mode))
|
170
|
-
(setq-default indent-tabs-mode t)
|
171
|
-
(setq tab-width 2)
|
172
|
-
|
173
|
-
;; =======================
|
174
|
-
;; yaml mode
|
175
|
-
;; =======================
|
176
|
-
(require 'yaml-mode)
|
177
|
-
(add-to-list 'auto-mode-alist '("\\.ya?ml$" . yaml-mode))
|
178
|
-
(define-key yaml-mode-map "\C-m" 'newline-and-indent)
|
179
|
-
|
180
105
|
;; =======================
|
181
106
|
;; org mode
|
182
107
|
;; =======================
|
@@ -1,26 +1,13 @@
|
|
1
|
-
;; るびきちのyaml-modeの説明従って..
|
2
|
-
;; http://emacs.rubikitch.com/yaml-mode/
|
3
|
-
;; 学内からはsetproxyを忘れぬように.
|
4
1
|
(require 'package)
|
5
|
-
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
6
|
-
(add-to-list 'package-archives '("marmalade" . "http://maramalae-repo.org/packages/"))
|
7
2
|
(add-to-list 'package-archives '("org" . "http:/orgmode.org/elpa/") t)
|
8
3
|
(add-to-list 'package-archives '("org-plus-contrib" . "https:/orgmode.org/elpa/contrib") t)
|
9
4
|
|
10
5
|
(fset 'package-desc-vers 'package--ac-desc-version)
|
11
6
|
(package-initialize)
|
12
7
|
|
13
|
-
;; '(("gnu" . "http://elpa.gnu.org/packages/")
|
14
|
-
|
15
|
-
;; るびきちのemacs lispテクニックバイブルに従ってdefaultの色つけを活性化
|
16
|
-
;; (require 'generic-x)
|
17
|
-
;; tabの自動生成がうっとおしいからやめた
|
18
|
-
|
19
8
|
;; elファイルの置き場所を設定
|
20
9
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/inits" load-path))
|
21
10
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/ruby-mode" load-path))
|
22
|
-
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/processing-mode" load-path))
|
23
|
-
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/haml-mode-master" load-path))
|
24
11
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/org-mode" load-path))
|
25
12
|
(setq load-path (cons "~/ruby_learner/workshop/.emacs.d/themes" load-path))
|
26
13
|
|
@@ -38,9 +25,6 @@
|
|
38
25
|
;;setting_theme
|
39
26
|
(add-to-list 'custom-theme-load-path "~/ruby_learner/workshop/.emacs.d/themes")
|
40
27
|
(setq custom-theme-directory "~/ruby_learner/workshop/.emacs.d/themes")
|
41
|
-
;;(load-theme 'iceberg t)
|
42
|
-
;;(load-theme 'dracula t)
|
43
|
-
;;(load-theme 'my-misterioso t)
|
44
28
|
(load-theme 'my-wombat t)
|
45
29
|
|
46
30
|
;; 起動時にスタートアップ画面を表示しない
|
@@ -55,10 +39,6 @@
|
|
55
39
|
:background "#000000"
|
56
40
|
:height 0.9)
|
57
41
|
(set-face-background 'default "#121212")
|
58
|
-
;; 括弧補完
|
59
|
-
;;(electric-pair-mode 1)
|
60
|
-
;; 行数を指定してジャンプする (goto-line)
|
61
|
-
;;(global-set-key "\C-l" 'goto-line)
|
62
42
|
;; 言語を日本語に設定
|
63
43
|
(set-language-environment 'Japanese)
|
64
44
|
;; 極力UTF-8とする
|
@@ -71,21 +51,12 @@
|
|
71
51
|
(setq coding-system-for-write 'utf-8)
|
72
52
|
(require 'ruby-mode)
|
73
53
|
(defun ruby-mode-set-encoding () nil)
|
74
|
-
;; C-zでUndo
|
75
|
-
;;(global-set-key "\C-z" 'undo)
|
76
|
-
;; 行番号をデフォルトで表示
|
77
|
-
;;(require 'line-num)
|
78
|
-
;;(global-linum-mode 1)
|
79
54
|
;; 対応する括弧を光らせる
|
80
55
|
(show-paren-mode 1)
|
81
56
|
;; 最近使ったファイルの一覧
|
82
57
|
(recentf-mode 1)
|
83
58
|
;; タイトルバーに開いているバッファのパスを表示
|
84
59
|
(setq frame-title-format (format "%%f - Emacs@%s" (system-name)))
|
85
|
-
;; 現在行を目立たせる
|
86
|
-
;; (global-hl-line-mode)
|
87
|
-
;; バックアップファイルを作らない
|
88
|
-
;; (setq backup-inhibited t)
|
89
60
|
;; モードラインに時間を表示する
|
90
61
|
(display-time)
|
91
62
|
;; 現在の関数名をモードラインに表示
|
@@ -93,20 +64,6 @@
|
|
93
64
|
;; 選択部分のインデント
|
94
65
|
(global-set-key "\C-x\C-i" 'indent-region)
|
95
66
|
|
96
|
-
(defun linux-c-mode ()
|
97
|
-
"C mode with adjusted defaults for use with the Linux kernel."
|
98
|
-
(interactive)
|
99
|
-
(c-mode)
|
100
|
-
(setq c-indent-level 8)
|
101
|
-
(setq c-brace-imaginary-offset 0)
|
102
|
-
(setq c-brace-offset -8)
|
103
|
-
(setq c-argdecl-indent 8)
|
104
|
-
(setq c-label-offset -8)
|
105
|
-
(setq c-continued-statement-offset 8)
|
106
|
-
(setq indent-tabs-mode nil)
|
107
|
-
(setq tab-width 8)
|
108
|
-
)
|
109
|
-
|
110
67
|
;; ======================================================================
|
111
68
|
;; Ruby mode
|
112
69
|
;; ======================================================================
|
@@ -159,39 +116,6 @@
|
|
159
116
|
(global-set-key (kbd "C-c h") 'hs-hide-block)
|
160
117
|
(global-set-key (kbd "C-c s") 'hs-show-block)
|
161
118
|
|
162
|
-
;; ======================================================================
|
163
|
-
;; Processing mode
|
164
|
-
;; ======================================================================
|
165
|
-
;;(add-to-list 'load-path "/Users/bob/ruby-processing/processing2-emacs")
|
166
|
-
(autoload 'processing-mode "processing-mode" "Processing mode" t)
|
167
|
-
(add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode))
|
168
|
-
(setq processing-indent-level 2)
|
169
|
-
|
170
|
-
(setq processing-location "/Users/bob/bin/processing-java")
|
171
|
-
(setq processing-application-dir "/Applications/Processing.app")
|
172
|
-
(setq processing-sketch-dir "~/Documents/Processing")
|
173
|
-
|
174
|
-
(setq-default indent-tabs-mode nil)
|
175
|
-
(setq tab-width 2)
|
176
|
-
|
177
|
-
;; =======================
|
178
|
-
;; haml mode
|
179
|
-
;; =======================
|
180
|
-
;;``` lisp
|
181
|
-
(require 'haml-mode)
|
182
|
-
;;```
|
183
|
-
(autoload 'haml-mode "haml-mode" "haml mode" t)
|
184
|
-
(add-to-list 'auto-mode-alist '("\\.haml$" . haml-mode))
|
185
|
-
(setq-default indent-tabs-mode t)
|
186
|
-
(setq tab-width 2)
|
187
|
-
|
188
|
-
;; =======================
|
189
|
-
;; yaml mode
|
190
|
-
;; =======================
|
191
|
-
(require 'yaml-mode)
|
192
|
-
(add-to-list 'auto-mode-alist '("\\.ya?ml$" . yaml-mode))
|
193
|
-
(define-key yaml-mode-map "\C-m" 'newline-and-indent)
|
194
|
-
|
195
119
|
;; =======================
|
196
120
|
;; org mode
|
197
121
|
;; =======================
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_learner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takaki Otsu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -150,11 +150,15 @@ files:
|
|
150
150
|
- docs/happy_ruby/c2.ipynb
|
151
151
|
- docs/happy_ruby/c3_4.ipynb
|
152
152
|
- docs/seminar/8-1.org
|
153
|
+
- docs/thesis/competing_services.org
|
154
|
+
- docs/thesis/manual.org
|
155
|
+
- docs/thesis/mid_term.pptx
|
153
156
|
- exe/ruby_learner
|
154
157
|
- lib/datas/emacs_help.org
|
155
158
|
- lib/datas/final_history_sequential.txt
|
156
|
-
- lib/ruby_learner/
|
159
|
+
- lib/ruby_learner/common.rb
|
157
160
|
- lib/ruby_learner/ruby_learner.rb
|
161
|
+
- lib/ruby_learner/sequential_main.rb
|
158
162
|
- lib/ruby_learner/typing_practice.rb
|
159
163
|
- lib/ruby_learner/version.rb
|
160
164
|
- questions/random_check/.rspec
|
@@ -346,88 +350,9 @@ files:
|
|
346
350
|
- takahashi/sample_prog/question/9_2.org
|
347
351
|
- takahashi/sample_prog/question/9_3.org
|
348
352
|
- workshop/.rspec
|
349
|
-
- workshop/emacs.d/#init#
|
350
|
-
- workshop/emacs.d/ac-comphist.dat
|
351
|
-
- workshop/emacs.d/cp5022x.el
|
352
|
-
- workshop/emacs.d/elpa/archives/gnu/archive-contents
|
353
|
-
- workshop/emacs.d/elpa/archives/melpa/archive-contents
|
354
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-autoloads.el
|
355
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.el
|
356
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.elc
|
357
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-pkg.el
|
358
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.el
|
359
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.elc
|
360
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ada-mode
|
361
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c++-mode
|
362
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c-mode
|
363
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/caml-mode
|
364
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojure-mode
|
365
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojurescript-mode
|
366
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/coq-mode
|
367
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/css-mode
|
368
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/erlang-mode
|
369
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ess-julia-mode
|
370
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/go-mode
|
371
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/haskell-mode
|
372
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/java-mode
|
373
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/js-mode
|
374
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/julia-mode
|
375
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/lua-mode
|
376
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/nim-mode
|
377
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/objc-mode
|
378
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/octave-mode
|
379
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/php-mode
|
380
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/python-mode
|
381
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/qml-mode
|
382
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ruby-mode
|
383
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scala-mode
|
384
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scheme-mode
|
385
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sclang-mode
|
386
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sh-mode
|
387
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/swift-mode
|
388
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tcl-mode
|
389
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ts-mode
|
390
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tuareg-mode
|
391
|
-
- workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/verilog-mode
|
392
|
-
- workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-autoloads.el
|
393
|
-
- workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-pkg.el
|
394
|
-
- workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.el
|
395
|
-
- workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.elc
|
396
|
-
- workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-autoloads.el
|
397
|
-
- workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-pkg.el
|
398
|
-
- workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.el
|
399
|
-
- workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.elc
|
400
|
-
- workshop/emacs.d/elpa/haml-mode-readme.txt
|
401
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.el
|
402
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.elc
|
403
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-autoloads.el
|
404
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-pkg.el
|
405
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.el
|
406
|
-
- workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.elc
|
407
|
-
- workshop/emacs.d/elpa/ox-bibtex-chinese-readme.txt
|
408
|
-
- workshop/emacs.d/elpa/popup-20160709.729/popup-autoloads.el
|
409
|
-
- workshop/emacs.d/elpa/popup-20160709.729/popup-pkg.el
|
410
|
-
- workshop/emacs.d/elpa/popup-20160709.729/popup.el
|
411
|
-
- workshop/emacs.d/elpa/popup-20160709.729/popup.elc
|
412
|
-
- workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-autoloads.el
|
413
|
-
- workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-pkg.el
|
414
|
-
- workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.el
|
415
|
-
- workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.elc
|
416
|
-
- workshop/emacs.d/elpa/yaml-mode-readme.txt
|
417
|
-
- workshop/emacs.d/haml-mode-master/.gitignore
|
418
|
-
- workshop/emacs.d/haml-mode-master/.mailmap
|
419
|
-
- workshop/emacs.d/haml-mode-master/MIT-LICENSE
|
420
|
-
- workshop/emacs.d/haml-mode-master/README.md
|
421
|
-
- workshop/emacs.d/haml-mode-master/haml-mode.el
|
422
|
-
- workshop/emacs.d/iceberg_theme.el
|
423
|
-
- workshop/emacs.d/init-open-recentf.el
|
424
353
|
- workshop/emacs.d/init.el
|
425
354
|
- workshop/emacs.d/inits/line-num.el
|
426
|
-
- workshop/emacs.d/install-elisp.el
|
427
355
|
- workshop/emacs.d/markdown-mode/markdown-mode.el
|
428
|
-
- workshop/emacs.d/notes
|
429
|
-
- workshop/emacs.d/processing-mode/processing-mode.el
|
430
|
-
- workshop/emacs.d/recentf
|
431
356
|
- workshop/emacs.d/ruby-mode/inf-ruby.el
|
432
357
|
- workshop/emacs.d/ruby-mode/rdoc-mode.el
|
433
358
|
- workshop/emacs.d/ruby-mode/ruby-electric.el
|
@@ -440,7 +365,6 @@ files:
|
|
440
365
|
- workshop/emacs.d/themes/iceberg-theme.el
|
441
366
|
- workshop/emacs.d/themes/my-misterioso-theme.el
|
442
367
|
- workshop/emacs.d/themes/my-wombat-theme.el
|
443
|
-
- workshop/emacs.d/wiki-mode/wiki.el
|
444
368
|
- workshop/lib/answer.rb
|
445
369
|
- workshop/lib/for-def-read.rb
|
446
370
|
- workshop/lib/for-read.txt
|
data/lib/ruby_learner/methods.rb
DELETED
@@ -1,290 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# def open_terminal(init_dir: String)
|
3
|
-
# system "osascript -e 'tell application \"Terminal\" to do script \"cd #{init_dir} \" '"
|
4
|
-
# end
|
5
|
-
require 'rubocop'
|
6
|
-
|
7
|
-
def drill_contents
|
8
|
-
puts "section_1 1~3"
|
9
|
-
puts "section_2 1~2"
|
10
|
-
puts "section_3 1"
|
11
|
-
puts "section_4 1"
|
12
|
-
puts "section_5 1~2"
|
13
|
-
puts "section_6 1~4"
|
14
|
-
puts "section_7 1~2"
|
15
|
-
puts "section_8 1"
|
16
|
-
puts "section_9 1~3"
|
17
|
-
puts "section_10 1~2"
|
18
|
-
puts "section_11 1~2"
|
19
|
-
end
|
20
|
-
|
21
|
-
def final_history(gem_dir)
|
22
|
-
docs_dir = "#{gem_dir}/lib/datas"
|
23
|
-
final_history = ''
|
24
|
-
final_sec = 0
|
25
|
-
final_par = 0
|
26
|
-
Dir::chdir(docs_dir){
|
27
|
-
File.open("final_history_sequential.txt") do |f|
|
28
|
-
final_history = f.gets
|
29
|
-
end
|
30
|
-
final_sec = final_history.match(/(.*)\-/)[1].to_i
|
31
|
-
final_par = final_history.match(/\-(.*)/)[1].to_i
|
32
|
-
}
|
33
|
-
return final_sec, final_par
|
34
|
-
end
|
35
|
-
|
36
|
-
def next_question(final_sec, final_par)
|
37
|
-
if final_sec == 1
|
38
|
-
if final_par == 1
|
39
|
-
next_sec = 1
|
40
|
-
next_par = 2
|
41
|
-
elsif final_par == 2
|
42
|
-
next_sec = 1
|
43
|
-
next_par = 3
|
44
|
-
else
|
45
|
-
next_sec = 2
|
46
|
-
next_par = 1
|
47
|
-
end
|
48
|
-
elsif final_sec == 2
|
49
|
-
if final_par == 1
|
50
|
-
next_sec = 2
|
51
|
-
next_par = 2
|
52
|
-
else
|
53
|
-
next_sec = 3
|
54
|
-
next_par = 1
|
55
|
-
end
|
56
|
-
elsif final_sec == 3
|
57
|
-
next_sec = 4
|
58
|
-
next_par = 1
|
59
|
-
elsif final_sec == 4
|
60
|
-
next_sec = 5
|
61
|
-
next_par = 1
|
62
|
-
elsif final_sec == 5
|
63
|
-
if final_par == 1
|
64
|
-
next_sec = 5
|
65
|
-
next_par = 2
|
66
|
-
else
|
67
|
-
next_sec = 6
|
68
|
-
next_par = 1
|
69
|
-
end
|
70
|
-
elsif final_sec == 6
|
71
|
-
if final_par == 1
|
72
|
-
next_sec = 6
|
73
|
-
next_par = 2
|
74
|
-
elsif final_par == 2
|
75
|
-
next_sec = 6
|
76
|
-
next_par = 3
|
77
|
-
elsif final_par == 3
|
78
|
-
next_sec = 6
|
79
|
-
next_par = 4
|
80
|
-
else
|
81
|
-
next_sec = 7
|
82
|
-
next_par = 1
|
83
|
-
end
|
84
|
-
elsif final_sec == 7
|
85
|
-
if final_par == 1
|
86
|
-
next_sec = 7
|
87
|
-
next_par = 2
|
88
|
-
else
|
89
|
-
next_sec = 8
|
90
|
-
next_par = 1
|
91
|
-
end
|
92
|
-
elsif final_sec == 8
|
93
|
-
next_sec = 9
|
94
|
-
next_par = 1
|
95
|
-
elsif final_sec == 9
|
96
|
-
if final_par == 1
|
97
|
-
next_sec = 9
|
98
|
-
next_par = 2
|
99
|
-
elsif final_par == 2
|
100
|
-
next_sec = 9
|
101
|
-
next_par = 3
|
102
|
-
else
|
103
|
-
next_sec = 10
|
104
|
-
next_par = 1
|
105
|
-
end
|
106
|
-
elsif final_sec == 10
|
107
|
-
if final_par == 1
|
108
|
-
next_sec = 10
|
109
|
-
next_par = 2
|
110
|
-
else
|
111
|
-
next_sec = 11
|
112
|
-
next_par = 1
|
113
|
-
end
|
114
|
-
else
|
115
|
-
if final_par == 1
|
116
|
-
next_sec = 11
|
117
|
-
next_par = 2
|
118
|
-
else
|
119
|
-
next_sec = 1
|
120
|
-
next_par = 1
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
return next_sec, next_par
|
125
|
-
end
|
126
|
-
|
127
|
-
def write_final_history(gem_dir, current_sec, current_par)
|
128
|
-
docs_dir = "#{gem_dir}/lib/datas"
|
129
|
-
Dir::chdir(docs_dir){
|
130
|
-
File.open("final_history_sequential.txt","w") do |f|
|
131
|
-
f.puts("#{current_sec}-#{current_par}")
|
132
|
-
end
|
133
|
-
}
|
134
|
-
end
|
135
|
-
|
136
|
-
def sequential_check_main(gem_dir, workshop_dir ,sec, par)
|
137
|
-
puts "section_#{sec}/part_#{par}"
|
138
|
-
seq_dir = "#{gem_dir}/questions/sequential_check/section_#{sec}/part_#{par}"
|
139
|
-
typing_prac_class = TypingPractice.new(workshop_dir: workshop_dir)
|
140
|
-
typing_prac_class.prac_sequence(mode_dir: seq_dir)
|
141
|
-
write_final_history(gem_dir, sec, par)
|
142
|
-
end
|
143
|
-
|
144
|
-
def time_check(start_time: Time)
|
145
|
-
end_time = Time.now
|
146
|
-
elapsed_time = end_time - start_time - 1
|
147
|
-
return elapsed_time
|
148
|
-
end
|
149
|
-
|
150
|
-
def instruct_print
|
151
|
-
puts "continue >>> [RET]"
|
152
|
-
puts "stop >>> 'exit' + [RET]"
|
153
|
-
puts "check answer >>> 'answer' + [RET]"
|
154
|
-
end
|
155
|
-
|
156
|
-
def init_mk_files(gem_dir: String, workshop_dir: String)
|
157
|
-
if Dir.exist?(workshop_dir) != true then
|
158
|
-
FileUtils.mkdir_p(workshop_dir)
|
159
|
-
system("cp -R #{gem_dir}/workshop/* #{workshop_dir}")
|
160
|
-
system("cd #{workshop_dir} && mv emacs.d .emacs.d")
|
161
|
-
end
|
162
|
-
end
|
163
|
-
|
164
|
-
def get_app_ver(app_name: String)
|
165
|
-
app_vers = Open3.capture3("gem list #{app_name}")
|
166
|
-
latest_ver = app_vers[0].chomp.gsub(' (', '-').gsub(')','')
|
167
|
-
return latest_ver
|
168
|
-
end
|
169
|
-
|
170
|
-
def mk_training_data(elapsed_time: Time, prac_dir: String)
|
171
|
-
training_file = "#{prac_dir}/training_data.txt"
|
172
|
-
if File.exist?(training_file) != true then
|
173
|
-
FileUtils.touch(training_file)
|
174
|
-
end
|
175
|
-
File.open(training_file, "a") do |file|
|
176
|
-
file.puts("#{Time.now} #{elapsed_time.truncate(2)} sec")
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
def typing_discriminant(workshop_dir)
|
181
|
-
file = "#{workshop_dir}/lib/workplace.rb"
|
182
|
-
loop do
|
183
|
-
flag_rspec, flag_rs_exit = rspec_check(workshop_dir)
|
184
|
-
if flag_rs_exit == true
|
185
|
-
break
|
186
|
-
end
|
187
|
-
flag_rubocop, flag_rub_exit = rubocop_check(file, workshop_dir)
|
188
|
-
if flag_rub_exit == true
|
189
|
-
break
|
190
|
-
end
|
191
|
-
if flag_rspec == true && flag_rubocop == true
|
192
|
-
puts "**********************************"
|
193
|
-
puts "Final Error Check"
|
194
|
-
puts "**********************************"
|
195
|
-
stdout, stderr, status = Open3.capture3("rspec #{workshop_dir}/spec/workplace_spec.rb")
|
196
|
-
if stdout[0] == '.'
|
197
|
-
puts "your code is perfect."
|
198
|
-
puts 'If you want to run your code, you execute the following command.'
|
199
|
-
puts " $ ruby #{workshop_dir}/lib/workplace.rb"
|
200
|
-
break
|
201
|
-
else
|
202
|
-
puts "not perfect, please fix your code."
|
203
|
-
end
|
204
|
-
end
|
205
|
-
end
|
206
|
-
restore(file: "#{workshop_dir}/lib/workplace.rb", workshop_dir: workshop_dir)
|
207
|
-
end
|
208
|
-
|
209
|
-
def rspec_check(workshop_dir)
|
210
|
-
puts "**********************************"
|
211
|
-
puts "RSpec Error Check"
|
212
|
-
puts "**********************************"
|
213
|
-
count = 0
|
214
|
-
flag_rspec = false
|
215
|
-
flag_exit = false
|
216
|
-
loop do
|
217
|
-
count += 1
|
218
|
-
puts "---------------------------"
|
219
|
-
puts "Rspec try: #{count}"
|
220
|
-
puts "---------------------------"
|
221
|
-
flag_rspec = system "cd #{workshop_dir} && rspec spec/workplace_spec.rb"
|
222
|
-
if flag_rspec == true
|
223
|
-
puts "Rspec check is clear!"
|
224
|
-
break
|
225
|
-
else
|
226
|
-
instruct_print
|
227
|
-
select = STDIN.gets.chomp
|
228
|
-
if select == 'exit'
|
229
|
-
flag_exit = true
|
230
|
-
break
|
231
|
-
elsif select == 'answer'
|
232
|
-
system "cd #{workshop_dir}/lib && emacs -nw -q -l #{workshop_dir}/.emacs.d/ruby_learner_init.el sentence.org workplace.rb"
|
233
|
-
else
|
234
|
-
system "cd #{workshop_dir}/lib && emacs -nw -q -l #{workshop_dir}/.emacs.d/init.el sentence.org workplace.rb"
|
235
|
-
end
|
236
|
-
end
|
237
|
-
end
|
238
|
-
return flag_rspec, flag_exit
|
239
|
-
end
|
240
|
-
|
241
|
-
def rubocop_check(file, workshop_dir)
|
242
|
-
puts "**********************************"
|
243
|
-
puts "Rubocop Error Check"
|
244
|
-
puts "**********************************"
|
245
|
-
count = 0
|
246
|
-
flag_rubocop = false
|
247
|
-
flag_exit = false
|
248
|
-
loop do
|
249
|
-
count += 1
|
250
|
-
puts "---------------------------"
|
251
|
-
puts "Rubocop try: #{count}"
|
252
|
-
puts "---------------------------"
|
253
|
-
flag_rubocop = system "rubocop #{file}"
|
254
|
-
if flag_rubocop == true
|
255
|
-
puts 'Rubocop check is clear!'
|
256
|
-
break
|
257
|
-
else
|
258
|
-
instruct_print
|
259
|
-
select = STDIN.gets.chomp
|
260
|
-
if select == 'exit'
|
261
|
-
flag_exit = true
|
262
|
-
break
|
263
|
-
elsif select == 'answer'
|
264
|
-
system "cd #{workshop_dir}/lib && emacs -nw -q -l #{workshop_dir}/.emacs.d/ruby_learner_init.el sentence.org workplace.rb"
|
265
|
-
else
|
266
|
-
system "cd #{workshop_dir}/lib && emacs -nw -q -l #{workshop_dir}/.emacs.d/init.el sentence.org workplace.rb"
|
267
|
-
end
|
268
|
-
end
|
269
|
-
end
|
270
|
-
return flag_rubocop, flag_exit
|
271
|
-
end
|
272
|
-
|
273
|
-
def restore(file: String, workshop_dir: String)
|
274
|
-
restore_file = ""
|
275
|
-
line = File.open("#{workshop_dir}/lib/answer.rb") do |f|
|
276
|
-
1.times {
|
277
|
-
f.gets
|
278
|
-
}
|
279
|
-
restore_file = f.gets
|
280
|
-
end
|
281
|
-
restore_file.gsub!(" ", "")
|
282
|
-
restore_file.delete!("#")
|
283
|
-
Dir::chdir("#{workshop_dir}/restore"){
|
284
|
-
file_count = Dir.glob("*.rb").count
|
285
|
-
# restore_file.insert(-5, "[#{file_count}]")
|
286
|
-
restore_file.insert(0, "[#{file_count}]")
|
287
|
-
}
|
288
|
-
system "touch #{workshop_dir}/restore/#{restore_file}"
|
289
|
-
system "cp #{workshop_dir}/lib/workplace.rb #{workshop_dir}/restore/#{restore_file}"
|
290
|
-
end
|