nadesiko3 3.2.38 → 3.2.39

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.
@@ -81,6 +81,7 @@ function dncl2nako(src, filename) {
81
81
  'のすべての値を0にする': '=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]',
82
82
  'ずつ増やしながら':'ずつ増やし繰り返す',
83
83
  'ずつ減らしながら':'ずつ減らし繰り返す',
84
+ '二進で表示': '二進表示',
84
85
  }
85
86
  let peekChar = () => src.charAt(0)
86
87
  let nextChar = () => {
@@ -1,8 +1,8 @@
1
1
  // なでしこバージョン
2
2
  const nakoVersion = {
3
- version: '3.2.38',
3
+ version: '3.2.39',
4
4
  major: 3,
5
5
  minor: 2,
6
- patch: 38
6
+ patch: 39
7
7
  }
8
8
  module.exports = nakoVersion
@@ -305,6 +305,22 @@ const PluginSystem = {
305
305
  return a % b
306
306
  }
307
307
  },
308
+ '偶数': { // @Aが偶数なら真を返す // @ぐうすう
309
+ type: 'func',
310
+ josi: [['が']],
311
+ pure: true,
312
+ fn: function (a) {
313
+ return (a % 2 == 0)
314
+ }
315
+ },
316
+ '奇数': { // @Aが奇数なら真を返す // @きすう
317
+ type: 'func',
318
+ josi: [['が']],
319
+ pure: true,
320
+ fn: function (a) {
321
+ return (a % 2 == 1)
322
+ }
323
+ },
308
324
  '二乗': { // @Aを二乗する // @にじょう
309
325
  type: 'func',
310
326
  josi: [['の', 'を']],
@@ -708,6 +724,15 @@ const PluginSystem = {
708
724
  return parseInt(v).toString(2)
709
725
  }
710
726
  },
727
+ '二進表示': { // @値Vを2進数に変換して表示 // @にしんひょうじ
728
+ type: 'func',
729
+ josi: [['を', 'の', 'から']],
730
+ pure: true,
731
+ fn: function (v, sys) {
732
+ const s = parseInt(v).toString(2)
733
+ sys.__exec('表示', [s, sys])
734
+ }
735
+ },
711
736
  'RGB': { // @HTML用のカラーコードを返すRGB(R,G,B)で各値は0-255 // @RGB
712
737
  type: 'func',
713
738
  josi: [['と'], ['の'], ['で']],
@@ -68,8 +68,9 @@ describe('dncl (#1140)', () => {
68
68
  cmpNako('!DNCLモード\nr ← 乱数 (1,6)\nもし(rが1以上)かつ(rが6以下)ならば「OK」と表示する。', 'OK')
69
69
  })
70
70
  it('二進 #1146', () => {
71
- cmpNako('!DNCLモード\nA← 二進 (9)\Aを表示する。', '1001')
72
- cmpNako('!DNCLモード\nA← 二進 (255)\Aを表示する。', '11111111')
71
+ cmpNako('!DNCLモード\nA← 二進 (9)\nAを表示する。', '1001')
72
+ cmpNako('!DNCLモード\nA← 二進 (255)\nAを表示する。', '11111111')
73
+ cmpNako('!DNCLモード\n二進で表示 (255)', '11111111')
73
74
  })
74
75
  })
75
76
 
@@ -595,4 +595,8 @@ describe('plugin_system_test', () => {
595
595
  cmp('3の二乗を表示', '9')
596
596
  cmp('2の3のべき乗を表示', '8')
597
597
  })
598
+ it('『偶数』『奇数』 #1146', () => {
599
+ cmp('もし4が偶数ならば「OK」と表示。', 'OK')
600
+ cmp('もし3が奇数ならば「OK」と表示。', 'OK')
601
+ })
598
602
  })