code-ruby 0.7.2 → 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/code/object/integer.rb +2 -2
- data/lib/code/parser/list.rb +7 -2
- data/lib/code/parser/multiplication.rb +9 -1
- data/lib/code/parser/name.rb +1 -1
- data/lib/code/version.rb +1 -1
- data/spec/code_spec.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1de692db935f0bf2da829334bd120b8fa972a686b700c529379f4ac4631d34b
|
4
|
+
data.tar.gz: 1fc45c35736818f606f17ccb0876be91d6b40c71415dab4e5b66693f3ace40d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4f23cc4451bc13bed8b98068707c026bbf3e603849872e6c3593d0fd18d81b62afdc27105437138156bd7edc88716b2864a4653b2af49efe915ad0d097d3b1a
|
7
|
+
data.tar.gz: 533109d631965b229c82a46ed04f5158a956f38eaa1154cdaed66f0a6f50943e2e7fb47ec8f81f229b14bb24b611fe1b32ffa3420ecf44eb5a61eb902cee78b7
|
data/Gemfile.lock
CHANGED
data/lib/code/object/integer.rb
CHANGED
@@ -32,7 +32,7 @@ class Code
|
|
32
32
|
when "&", "bitwise_and"
|
33
33
|
sig(args) { Number }
|
34
34
|
code_bitwise_and(value)
|
35
|
-
when "*", "multiplication"
|
35
|
+
when "*", "multiplication", "×"
|
36
36
|
sig(args) { Number | String }
|
37
37
|
code_multiplication(value)
|
38
38
|
when "**", "power"
|
@@ -44,7 +44,7 @@ class Code
|
|
44
44
|
when "-", "minus", "unary_minus"
|
45
45
|
sig(args) { Number.maybe }
|
46
46
|
value ? code_minus(value) : code_unary_minus
|
47
|
-
when "/", "division"
|
47
|
+
when "/", "division", "÷"
|
48
48
|
sig(args) { Number }
|
49
49
|
code_division(value)
|
50
50
|
when "<", "inferior"
|
data/lib/code/parser/list.rb
CHANGED
@@ -4,6 +4,10 @@ class Code
|
|
4
4
|
class Parser
|
5
5
|
class List < Language
|
6
6
|
def code
|
7
|
+
Code
|
8
|
+
end
|
9
|
+
|
10
|
+
def code_present
|
7
11
|
Code.new.present
|
8
12
|
end
|
9
13
|
|
@@ -28,13 +32,14 @@ class Code
|
|
28
32
|
end
|
29
33
|
|
30
34
|
def element
|
31
|
-
|
35
|
+
(whitespace? << code_present << (whitespace? << comma).maybe) |
|
36
|
+
(whitespace? << code << whitespace? << comma)
|
32
37
|
end
|
33
38
|
|
34
39
|
def root
|
35
40
|
(
|
36
41
|
opening_square_bracket.ignore << whitespace? <<
|
37
|
-
|
42
|
+
element.repeat <<
|
38
43
|
(whitespace? << closing_square_bracket.ignore).maybe
|
39
44
|
).aka(:list) | String
|
40
45
|
end
|
@@ -11,6 +11,10 @@ class Code
|
|
11
11
|
str("*")
|
12
12
|
end
|
13
13
|
|
14
|
+
def multiplication_sign
|
15
|
+
str("×")
|
16
|
+
end
|
17
|
+
|
14
18
|
def slash
|
15
19
|
str("/")
|
16
20
|
end
|
@@ -19,8 +23,12 @@ class Code
|
|
19
23
|
str("%")
|
20
24
|
end
|
21
25
|
|
26
|
+
def division_sign
|
27
|
+
str("÷")
|
28
|
+
end
|
29
|
+
|
22
30
|
def operator
|
23
|
-
asterisk | slash | percent
|
31
|
+
asterisk | slash | percent | multiplication_sign | division_sign
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
data/lib/code/parser/name.rb
CHANGED
data/lib/code/version.rb
CHANGED
data/spec/code_spec.rb
CHANGED
@@ -4,6 +4,7 @@ require "spec_helper"
|
|
4
4
|
|
5
5
|
RSpec.describe Code do
|
6
6
|
[
|
7
|
+
["9975×14÷8", "17456.25"],
|
7
8
|
["\r\n", "nothing"],
|
8
9
|
["1 + 1", "2"],
|
9
10
|
["a = 1", "1"],
|
@@ -68,6 +69,11 @@ RSpec.describe Code do
|
|
68
69
|
["[1, 2, 3]", "[1, 2, 3]"],
|
69
70
|
["[1, 2, 3].include?(2)", "true"],
|
70
71
|
["[1, 2, 3].include?(4)", "false"],
|
72
|
+
["[1, 2, 3,].include?(4)", "false"],
|
73
|
+
["[1, 2, 3, \n ].include?(4)", "false"],
|
74
|
+
["[1].each do end", "[1]"],
|
75
|
+
["[,].include?(4)", "false"],
|
76
|
+
["[,,].include?(4)", "false"],
|
71
77
|
["[[true]]", "[[true]]"],
|
72
78
|
["2 * 3", "6"],
|
73
79
|
["2 * 3 + 2", "8"],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: code-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dorian Marié
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bigdecimal
|