質問編集履歴

5

修正

2018/04/12 00:40

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- 最後に重ねて、皆の日々の勤勉に対し、謝辞を述べたし
37
+ 最後に重ねて、皆の日々の勤勉に対し、謝辞を申しぶる
38
38
 
39
39
 
40
40
 

4

謝辞

2018/04/12 00:40

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,28 @@
18
18
 
19
19
 
20
20
 
21
+ ##謝辞
22
+
23
+
24
+
25
+ おのおのがた、大儀であらせられた。かねてよりの見出しドーンを心苦しう思われておられる皆々の心情、相分かった。
26
+
27
+
28
+
29
+ また、自動差保御人の誤りをご懸念されるのも尤も。されど、失敗を恐れていては技術の進歩はありえぬ。技士の名折れと心得よ。
30
+
31
+
32
+
33
+ かくなる上は、城主寺尾守様に当評議御査収頂き、下々の声、何卒お聞き入れ頂くよう願い奉る次第。
34
+
35
+
36
+
37
+ 最後に重ねて、皆の日々の勤勉に対し、謝辞を述べたし。
38
+
39
+
40
+
41
+
42
+
21
43
  ####補足
22
44
 
23
45
 

3

欠落した行の補完

2018/04/12 00:38

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -240,6 +240,10 @@
240
240
 
241
241
  if(line.trim().match(/^#.+$/)) { return LINE_TYPE.COMMENT_START; }
242
242
 
243
+
244
+
245
+ if(line.trim().match(/^```.*$/)) { return LINE_TYPE.CODE_BLOCK; } // 欠落しておった
246
+
243
247
 
244
248
 
245
249
  // erase string literal

2

いいだしっぺの法則

2018/04/11 07:34

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,601 @@
23
23
 
24
24
 
25
25
  いつも質問を根こそぎ削除され申すがため、此度こそはベストアンサーを選びとう御座る。
26
+
27
+
28
+
29
+
30
+
31
+ ####例
32
+
33
+
34
+
35
+ 老母を医者に送り迎えする傍ら、つらつらとコードなどを書いておった。
36
+
37
+
38
+
39
+ ```jQuery
40
+
41
+ $(function()
42
+
43
+ {
44
+
45
+ const LINE_TYPE = { WORD: 0, CODE: 1, BLANK: 2, CODE_BLOCK: 3, FOREIGN: 4, COMMENT_START: 5, COMMENT_END: 6 };
46
+
47
+
48
+
49
+ $("#confirm-button").on("click", function()
50
+
51
+ {
52
+
53
+ let content = $("#hoge").val();
54
+
55
+ let lines = content.split("\n");
56
+
57
+ let continually = 0;
58
+
59
+ let skip_code_block = false;
60
+
61
+ let start_code_block = false;
62
+
63
+ let start_comment_block = false;
64
+
65
+
66
+
67
+ for(let i = lines.length; i >= 0 ; i--)
68
+
69
+ {
70
+
71
+ let line_type = isCodeLine(lines[i], i);
72
+
73
+
74
+
75
+ switch(line_type)
76
+
77
+ {
78
+
79
+ case LINE_TYPE.FOREIGN:
80
+
81
+ if(!start_code_block)
82
+
83
+ {
84
+
85
+ lines[i] = "> " + lines[i];
86
+
87
+ break;
88
+
89
+ }
90
+
91
+
92
+
93
+ case LINE_TYPE.COMMENT_START:
94
+
95
+ case LINE_TYPE.COMMENT_END:
96
+
97
+ if(line_type == LINE_TYPE.COMMENT_START) { start_comment_block = false; }
98
+
99
+ if(line_type == LINE_TYPE.COMMENT_END) { start_comment_block = true; }
100
+
101
+
102
+
103
+ case LINE_TYPE.BLANK:
104
+
105
+ if(!start_code_block){ break; }
106
+
107
+
108
+
109
+ case LINE_TYPE.CODE:
110
+
111
+ if(!skip_code_block)
112
+
113
+ {
114
+
115
+ continually++;
116
+
117
+ start_code_block = true;
118
+
119
+ }
120
+
121
+ break;
122
+
123
+
124
+
125
+ case LINE_TYPE.CODE_BLOCK:
126
+
127
+ skip_code_block != skip_code_block;
128
+
129
+
130
+
131
+ break;
132
+
133
+
134
+
135
+ case LINE_TYPE.WORD:
136
+
137
+ if(start_comment_block)
138
+
139
+ {
140
+
141
+ if(!skip_code_block)
142
+
143
+ {
144
+
145
+ continually++;
146
+
147
+ start_code_block = true;
148
+
149
+ }
150
+
151
+ break;
152
+
153
+ }
154
+
155
+
156
+
157
+ start_code_block = false;
158
+
159
+ if(continually < 5) { continue; }
160
+
161
+
162
+
163
+ // コードブロックでラップ
164
+
165
+ let target = i + 1;
166
+
167
+ lines.splice(target + continually, 0, "```\n");
168
+
169
+ if(lines[target].trim() == "") { target++; }
170
+
171
+ lines.splice(target, 0, "```何のコードですか?\n");
172
+
173
+
174
+
175
+ continually = 0;
176
+
177
+
178
+
179
+ break;
180
+
181
+ }
182
+
183
+ }
184
+
185
+
186
+
187
+
188
+
189
+ // 確認ウィンドウ表示
190
+
191
+
192
+
193
+ let html = parseMarkdown(lines);
194
+
195
+
196
+
197
+ let button = $("<button/>").attr("id", "submit-button").html("投稿する");
198
+
199
+ let control = $("<div/>").addClass("controls").append(button);
200
+
201
+ let preview = $("<div/>").addClass("preview").append(html);
202
+
203
+ let outer = $("<div/>").addClass("shadow").append(preview).append(control);
204
+
205
+
206
+
207
+ $("body").append(outer);
208
+
209
+ $("input.code-tag").on("focus", function()
210
+
211
+ {
212
+
213
+ clearInterval(timer);
214
+
215
+ $(this).css("background-color", "#fff").css("opacity", 1);
216
+
217
+ });
218
+
219
+ });
220
+
221
+
222
+
223
+ function isCodeLine(line, i)
224
+
225
+ {
226
+
227
+ if(line === undefined) { return LINE_TYPE.WORD; }
228
+
229
+ if(line.trim().length == 0) { return LINE_TYPE.BLANK; }
230
+
231
+
232
+
233
+ if(line.trim().match(/^//.*$/)) { return LINE_TYPE.COMMENT_START; }
234
+
235
+ if(line.trim().match(/^/*.*$/)) { return LINE_TYPE.COMMENT_START; }
236
+
237
+ if(line.trim().match(/^*/.*$/)) { return LINE_TYPE.COMMENT_END; }
238
+
239
+
240
+
241
+ if(line.trim().match(/^#.+$/)) { return LINE_TYPE.COMMENT_START; }
242
+
243
+
244
+
245
+ // erase string literal
246
+
247
+ line = line.replace(/"(.+)"/g, "");
248
+
249
+ line = line.replace(/'(.+)'/g, "");
250
+
251
+
252
+
253
+ let all_charactors = line.length;
254
+
255
+ var alpha_numerics = 0;
256
+
257
+
258
+
259
+ line.split("").forEach(function(value)
260
+
261
+ {
262
+
263
+ alpha_numerics += (value.match(/[a-zA-Z0-9 \"'`/#%&$.,:;<>()[]{}\t]/))? 1 : 0;
264
+
265
+ });
266
+
267
+
268
+
269
+ let alpha_numeric_ratio = alpha_numerics / all_charactors;
270
+
271
+
272
+
273
+ if(isForeginLanguage(line, alpha_numeric_ratio)) { return LINE_TYPE.FOREIGN; }
274
+
275
+ if(alpha_numeric_ratio > 0.75) { return LINE_TYPE.CODE; }
276
+
277
+
278
+
279
+ return LINE_TYPE.WORD;
280
+
281
+ }
282
+
283
+
284
+
285
+ function isForeginLanguage(line, alpha_numeric_ratio)
286
+
287
+ {
288
+
289
+ if(alpha_numeric_ratio < 0.95) { return false; }
290
+
291
+ if(line.trim().match(/^.+[.,!?]$/)) { return true; }
292
+
293
+ if(line.length < 40) { return false; }
294
+
295
+ return false;
296
+
297
+ }
298
+
299
+
300
+
301
+ ///////////////////////////////////////////////////
302
+
303
+ //
304
+
305
+ // ここから適当
306
+
307
+
308
+
309
+ function parseMarkdown(lines)
310
+
311
+ {
312
+
313
+ let html = "";
314
+
315
+
316
+
317
+ for(let i in lines)
318
+
319
+ {
320
+
321
+ lines[i] = lines[i].replace(/</g, "&lt;");
322
+
323
+ lines[i] = lines[i].replace(/>/g, "&gt;");
324
+
325
+ if(lines[i].trim().match(/^&gt; .+$/)){ lines[i] = lines[i].replace(/^&gt; (.+)$/ ,"<blockquote>$1</blockquote>"); }
326
+
327
+ html += lines[i] + "\n";
328
+
329
+ }
330
+
331
+
332
+
333
+ let result = html.replace(/```(.*)\n([^`]+)```/g, "<br><input type='text' class='code-tag' placeholder='$1'></span><pre>$2</pre>");
334
+
335
+
336
+
337
+ return result;
338
+
339
+ }
340
+
341
+
342
+
343
+ let timer;
344
+
345
+ let angle = 0;
346
+
347
+
348
+
349
+ timer = setInterval(function()
350
+
351
+ {
352
+
353
+ let radian = angle * (Math.PI / 180) / 2;
354
+
355
+ angle += 20;
356
+
357
+ if(angle >= 180) { angle -= 180; }
358
+
359
+
360
+
361
+ $("input.code-tag").css("opacity", Math.sin(radian) + 0.5);
362
+
363
+
364
+
365
+ }, 150);
366
+
367
+ });
368
+
369
+ ```
370
+
371
+
372
+
373
+ ```HTML
374
+
375
+ <!DOCTYPE html>
376
+
377
+ <html>
378
+
379
+ <head>
380
+
381
+ <title>TODO supply a title</title>
382
+
383
+ <meta charset="UTF-8">
384
+
385
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
386
+
387
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
388
+
389
+ <script src="./markdown.js"></script>
390
+
391
+ <style>
392
+
393
+
394
+
395
+ html {
396
+
397
+ height: 100%;
398
+
399
+ }
400
+
401
+
402
+
403
+ body {
404
+
405
+ height: 100%;
406
+
407
+ margin: 0;
408
+
409
+ }
410
+
411
+
412
+
413
+ textarea {
414
+
415
+ width: 640px;
416
+
417
+ height: 640px;
418
+
419
+ margin: 0px;
420
+
421
+ }
422
+
423
+
424
+
425
+ div.pane {
426
+
427
+ float: left;
428
+
429
+ margin: 4px;
430
+
431
+ padding: 0px;
432
+
433
+ width: 640px;
434
+
435
+ height: 640px;
436
+
437
+ border: solid 1px #efefef;
438
+
439
+ }
440
+
441
+
442
+
443
+ div.shadow {
444
+
445
+ box-sizing: border-box;
446
+
447
+ position: absolute;
448
+
449
+ width: 100%;
450
+
451
+ height: 100%;
452
+
453
+ top: 0px;
454
+
455
+ left: 0px;
456
+
457
+ background-color: rgba(0,0,0, 0.75);
458
+
459
+ text-align: center;
460
+
461
+ }
462
+
463
+
464
+
465
+ div.controls {
466
+
467
+ clear: both;
468
+
469
+ box-sizing: border-box;
470
+
471
+ padding: 12px 4px;
472
+
473
+ text-align: center;
474
+
475
+ }
476
+
477
+
478
+
479
+ div.preview {
480
+
481
+ display: inline-block;
482
+
483
+ text-align: left;
484
+
485
+ width: 95%;
486
+
487
+ margin-top: 20px;
488
+
489
+ padding: 10px;
490
+
491
+ left: 10px;
492
+
493
+ top: 10px;
494
+
495
+ background-color: #fefefe;
496
+
497
+ }
498
+
499
+
500
+
501
+ pre {
502
+
503
+ box-sizing: border-box;
504
+
505
+ border: solid 1px #efefef;
506
+
507
+ margin: 5px 10px 20px 10px;
508
+
509
+ padding: 10px;
510
+
511
+ font-weight: bold;
512
+
513
+ }
514
+
515
+
516
+
517
+ blockquote {
518
+
519
+ border-left: solid 4px #aaa;
520
+
521
+ padding-left: 10px;
522
+
523
+ }
524
+
525
+
526
+
527
+ input.code-tag {
528
+
529
+ clear: both;
530
+
531
+ margin-top: 20px;
532
+
533
+ margin-left: 10px;
534
+
535
+ background-color: #ff9999;
536
+
537
+ }
538
+
539
+
540
+
541
+ </style>
542
+
543
+ </head>
544
+
545
+ <body>
546
+
547
+ <div id="content-pane" class="pane">
548
+
549
+ <textarea id="hoge" name="hoge" class="hoge">
550
+
551
+ 以下のコードが全く動かないんですが、なんとかしてください。
552
+
553
+
554
+
555
+ #include <studio.h>
556
+
557
+ #include <stdlib.h>
558
+
559
+ #include <math.h>
560
+
561
+
562
+
563
+ /*
564
+
565
+ * ここからがメイン関数です。
566
+
567
+ */
568
+
569
+ int main()
570
+
571
+ {
572
+
573
+ // メッセージを出力する
574
+
575
+ printf("Hello, world %d", add(2, 3));
576
+
577
+ }
578
+
579
+
580
+
581
+ /*
582
+
583
+ * かさーん。
584
+
585
+ */
586
+
587
+ int add(int a, int b)
588
+
589
+ {
590
+
591
+ return a + b;
592
+
593
+ }
594
+
595
+
596
+
597
+ The following error message appears. It seems to me like a bug. Are there any ways to fix this? The version I'm using is PHP 5.4.
598
+
599
+ というエラーメッセージが出ます。
600
+
601
+
602
+
603
+ もう、全然わかんないです。゚(゚´Д`゚)゚。
604
+
605
+ </textarea>
606
+
607
+ </div>
608
+
609
+
610
+
611
+ <div class="controls">
612
+
613
+ <button type="button" id="confirm-button">質問文を確認して投稿する</button>
614
+
615
+ </div>
616
+
617
+
618
+
619
+ </body>
620
+
621
+ </html>
622
+
623
+ ```

1

補足

2018/04/11 07:24

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,11 @@
15
15
 
16
16
 
17
17
  そろそろポイントが貯まってきたので、有効活用させていただこうと存ずる。
18
+
19
+
20
+
21
+ ####補足
22
+
23
+
24
+
25
+ いつも質問を根こそぎ削除され申すがため、此度こそはベストアンサーを選びとう御座る。