aboutsummaryrefslogtreecommitdiff
path: root/test/cases/fill.bqn
blob: f0a3aa685960b6ca5ecb4aa6930332d0c141798d (plain)
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
# String fill
' '  1""

# Match doesn't use fills
"ab" (0) 2

# Functions that fill
"abc  "5"abc"
" ab"  »"abc"
"bc "  «"abc"
("abc""de ")  2↑⥊"abcde"
(13400)    34
(4312↑<¨10) 3⥊<¨10

# Box and Pair generate arbitrary fill elements
´ (2  10×)<¨ π, 3, "", 2+3, ˘21,42⟩⟩
(0¨  12↑<) ¯∞0
"  "0  ⊑»1⥊<"xy"¯π
70' '  »≍<'a'(2|)¨7
´ (< (2) )¨ 'y', 0, ˘21,42⟩⟩
((2⥊<) (3) ˜) "ab"‿⟨4⟩,2

# Special cases
0  1↑↕0
0120  4↑↕3
(1↑⥊) 000
((<0×)  ») 12
(4  0120) ↑↕2
( (¯7) ) ˘3,"ab"

# Arithmetic
´{00≡⊑»𝕏↕24}¨ +-×÷|¬
´{(2⥊<00)≡⊑»⥊01,23𝕏(3⥊<)01,23}¨ +-×÷|¬
´{(2⥊<00)≡⊑»⥊0'c',2'd'𝕏(3⥊<)01,"ch"}¨ <>=
0' '' '  ⊑»⥊ 01'c'+<0'b'2
0' '0  ⊑»⥊ 0'b''c'-<01'c'

# Fill-preserving functions
' '  ⊑» @
"  ab"  ⥊»2"abcd"
(3⥊<"    ")  »≍3⥊<"abcd"
" cba"  ¯4↑⌽"abc"
"bca "  41"abc"
»(⊏≍) ⥊<"ab"
" bc"  »«"abc"
"   "0  10⥊»4⥊<"str"
"c  "  3↑⍉'c'
("   ")  »⍉⌊1"wxy"
" "1↑»3/"ab"
⟨⟨⟩⟩  »01/↑1↓↕2
00  1000⍉↕32
' '0  ⊑»1203(<'a'1)+↕45
"cb  "  421"abc"
(30)  ⊑» 20,<1,13⊏↕324
" cba"  ¯4↑⍷"cbaba"
"abc  "  5↑∧"bca"
"cabc "  5↑⊏∨34"abc"
0' '  ⊑» <` (3) + <0'x'

# Fill 0
 7↑/23
´{0≡⊑»𝕏"abdbcda"}¨ 
0≡⊑1↑≢8
´62⥊↕2,52⥊↕3{0≡⊑10⥊𝕏´𝕨}¨ 

# Combinations
(' '¨"abc")  »>"abc","def"
"  "≡⊑1↑⥊>2⥊<0⥊<"ab"
"  "≡⊑1↑>0⥊<<"ab"
(' '¨"abc")  »"abc""def"
(⊑»)(∾↑) (3) + <0,'a'2
00  ⊑» 1323
" ax"  »"a"»"xyz"
00  ⊑» 54<«⥊↕22

# Group
""  1⟨⟩""
00  1↑⊑1⟨⟩0⥊<↕2
0110  421"aa"
"   "  (10⥊⊢)¨ 21"aa"