2017年5月5日金曜日

開発環境

もっと🥒(Fizz Buzz)。

コード(Emacs)

HTML5

<pre id="output0"></pre>
<label for="n0">n = </label>
<input id="n0" min="1" step="1" type="number" value="105">
<button id="run0">run</button>
<button id="clear0">clear</button>

<script src="sample9.js"></script>    

JavaScript

let input_n = document.querySelector('#n0'),
    pre0 = document.querySelector('#output0'),
    btn0 = document.querySelector('#run0'),
    btn1 = document.querySelector('#clear0'),
    p = (x) => pre0.textContent += x + '\n',
    range = (start, end, step=1) => {
        let result = [];
        for (let i = start; i < end; i += step) {
            result.push(i);
        }
        return result;
    };

let output = () => {
    pre0.textContent = '';    
    
    let n = parseInt(input_n.value, 10);

    p(
        range(1, n + 1)
            .map((i) => `${i}: ` +
                     (i % 15 === 0 ? '🥒' :
                      i % 3 === 0 ? 'ピク': 
                      i % 5 === 0 ? 'ルス' : ''))
            .join('\n')
    );
}

input_n.onchange = output;
btn0.onclick = output;
btn1.onclick = () => pre0.textContent = '';

output();
1: 
2: 
3: ピク
4: 
5: ルス
6: ピク
7: 
8: 
9: ピク
10: ルス
11: 
12: ピク
13: 
14: 
15: 🥒
16: 
17: 
18: ピク
19: 
20: ルス
21: ピク
22: 
23: 
24: ピク
25: ルス
26: 
27: ピク
28: 
29: 
30: 🥒
31: 
32: 
33: ピク
34: 
35: ルス
36: ピク
37: 
38: 
39: ピク
40: ルス
41: 
42: ピク
43: 
44: 
45: 🥒
46: 
47: 
48: ピク
49: 
50: ルス
51: ピク
52: 
53: 
54: ピク
55: ルス
56: 
57: ピク
58: 
59: 
60: 🥒
61: 
62: 
63: ピク
64: 
65: ルス
66: ピク
67: 
68: 
69: ピク
70: ルス
71: 
72: ピク
73: 
74: 
75: 🥒
76: 
77: 
78: ピク
79: 
80: ルス
81: ピク
82: 
83: 
84: ピク
85: ルス
86: 
87: ピク
88: 
89: 
90: 🥒
91: 
92: 
93: ピク
94: 
95: ルス
96: ピク
97: 
98: 
99: ピク
100: ルス
101: 
102: ピク
103: 
104: 
105: 🥒

0 コメント:

コメントを投稿