Dernière activité 1 month ago

Supports custom formatting by adding additional rules. (Runs in Serpens.)

june's Avatar june a révisé ce gist 1 month ago. Aller à la révision

1 file changed, 2 deletions

print.nv

@@ -1,5 +1,3 @@
1 - ||:@include: lib/rpn.nv
2 -
3 1 |:: print? :string: '%d'| :: print a number
4 2 |:: print? :string: '%b'| :: print a number :base: 2
5 3 |:: print? :string: '%x'| :: print a number :base: 16

june's Avatar june a révisé ce gist 1 month ago. Aller à la révision

1 file changed, 2 insertions

print.nv

@@ -1,3 +1,5 @@
1 + ||:@include: lib/rpn.nv
2 +
1 3 |:: print? :string: '%d'| :: print a number
2 4 |:: print? :string: '%b'| :: print a number :base: 2
3 5 |:: print? :string: '%x'| :: print a number :base: 16

june's Avatar june a révisé ce gist 1 month ago. Aller à la révision

1 file changed, 60 insertions

print.nv(fichier créé)

@@ -0,0 +1,60 @@
1 + |:: print? :string: '%d'| :: print a number
2 + |:: print? :string: '%b'| :: print a number :base: 2
3 + |:: print? :string: '%x'| :: print a number :base: 16
4 + |:: print? :string: '%s'| :: print a string
5 + |:: print? :string: '{}'| :: print an argument
6 + |:: print? :string: '\n'| :string: 10
7 + |:: print? :string: '\t'| :string: 9
8 + |:: print? :string: '\r'| :string: 13
9 + |:: print? :string: '\0'| :string: 0
10 + |:: print? :string: $ | :@stdio: write $
11 + |:: print :string: |
12 + |:: print |
13 +
14 + |:: print an argument :arguments: string| :: print a string
15 + |:: print an argument :arguments: number| :: print a number
16 + |:: print an argument :arguments: |
17 + |:: print an argument :arguments: $ | :: error -- unknown argument type $
18 +
19 + |:: print a number|
20 + :: convert an argument to a string
21 + :: print an argument
22 +
23 + |:: print a string? :arguments: $|:@stdio: write $
24 + |:: print a string :arguments: |
25 + |:: print a string |
26 +
27 + |:: convert an argument to a string :arguments: 0|
28 + :arguments: string :arguments:
29 + '0'
30 + :arguments:
31 + |:: convert an argument to a string :arguments: $|
32 + :: break $ into digits
33 + :: make those digits printable
34 + :: push a separator to the arguments stack
35 + :: move those digits to the arguments stack
36 + :: set the argument type to string
37 +
38 + |:: break 0 into digits :base: $|
39 + |:: break $number into digits :@rpn.stack: ($next $digit)|
40 + :digits: $digit
41 + :: break $next into digits
42 + |:: break $number into digits? :base: $base?|
43 + :@rpn: ($number $base % $number $base /)
44 + |:: break $number into digits?|
45 + :base: 10
46 +
47 + |:: make those digits printable? :@rpn.stack: $| :printable digits: $
48 + |:: make those digits printable? :digits: $| :@rpn: ($ 48 +)
49 + |:: make those digits printable |
50 +
51 + |:: push a separator to the arguments stack| :arguments:
52 +
53 + |:: move those digits to the arguments stack? :printable digits: $| :arguments: $
54 + |:: move those digits to the arguments stack |
55 +
56 + |:: set the argument type to $| :arguments: $
57 +
58 + ||:: print :string:
59 + "%d, and a %d, and a %d, %d, %d, %d...!\n" :arguments: (1 2 1 2 3 4)
60 + :string:
Plus récent Plus ancien