add to_num & to_char in std.string

This commit is contained in:
ValKmjolnir 2023-11-18 00:12:05 +08:00
parent 8582c0f221
commit 5a0d8dec20
3 changed files with 35 additions and 12 deletions

View File

@ -111,14 +111,9 @@ In 2022/2/17 update we added `\e` into the lexer. And the `bfcolored.nas` uses t
![mandelbrot](../doc/pic/mandelbrot.png)
## More nasal generated pictures
## More Nasal Generated Pictures
![mandelbrotset](../doc/pic/mandelbrotset.png)
![mandelbrotset_reverse](../doc/pic/mandelbrotset_reverse.png)
![burningship](../doc/pic/burningship.png)
![burningship_reverse](../doc/pic/burningship_reverse.png)
![feigenbaum](../doc/pic/feigenbaum.png)
|Mandelbrot Set|Mandelbrot Set|Burning Ship|Burning Ship|Feigenbaum|
|:----:|:----:|:----:|:----:|:----:|
|[mandelbrotset.nas](../test/mandelbrotset.nas)|[mandelbrotset.nas](../test/mandelbrotset.nas)|[burningship.nas](../test/burningship.nas)|[burningship.nas](../test/burningship.nas)|[feigenbaum.nas](../test/feigenbaum.nas)|
|![mandelbrotset](../doc/pic/mandelbrotset.png)|![mandelbrotset_reverse](../doc/pic/mandelbrotset_reverse.png)|![burningship](../doc/pic/burningship.png)|![burningship_reverse](../doc/pic/burningship_reverse.png)|![feigenbaum](../doc/pic/feigenbaum.png)|

View File

@ -1,7 +1,6 @@
# lib.nas
# 2019 ValKmjolnir
use std.math;
use std.string;
use std.io;
use std.os;
use std.unix;

View File

@ -9,4 +9,33 @@ var join = func(sep, vec) {
res ~= (i==len-1? "":sep);
}
return res;
}
}
var __temp_char = func(number) {
return __char(number);
}
var __temp_append = func(vec, elem...) {
return __append(vec, elem);
}
var __temp_contains = func(hash, key) {
return __contains(hash, key);
}
var __num_to_char = [];
var __char_to_num = {};
func() {
for(var i = 0; i<256; i += 1) {
__temp_append(__num_to_char, __temp_char(i));
__char_to_num[__temp_char(i)] = i;
}
}();
var to_char = func(number) {
return 0<=number and number<256? __num_to_char[number]:"";
}
var to_num = func(character) {
return __temp_contains(__char_to_num, character)? __char_to_num[character]:-1;
}