mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-07-23 11:28:45 +08:00
⚡ add to_num & to_char in std.string
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
# lib.nas
|
||||
# 2019 ValKmjolnir
|
||||
use std.math;
|
||||
use std.string;
|
||||
use std.io;
|
||||
use std.os;
|
||||
use std.unix;
|
||||
|
||||
+30
-1
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user