Skip to content

Commit ac8cd4d

Browse files
committed
Добавлена функция toHexString
1 parent d40c4d5 commit ac8cd4d

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.annimon.ownlang.modules.std;
2+
3+
import com.annimon.ownlang.lib.Arguments;
4+
import com.annimon.ownlang.lib.NumberValue;
5+
import com.annimon.ownlang.lib.StringValue;
6+
import com.annimon.ownlang.lib.Types;
7+
import com.annimon.ownlang.lib.Value;
8+
9+
public final class NumberFunctions {
10+
11+
public static Value toHexString(Value... args) {
12+
Arguments.check(1, args.length);
13+
long value;
14+
if (args[0].type() == Types.NUMBER) {
15+
value = ((NumberValue) args[0]).asLong();
16+
} else {
17+
value = (long) args[0].asNumber();
18+
}
19+
return new StringValue(Long.toHexString(value));
20+
}
21+
}

src/main/java/com/annimon/ownlang/modules/std/std.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ public void init() {
2727
Functions.set("sync", new std_sync());
2828
Functions.set("try", new std_try());
2929

30+
// Numbers
31+
Functions.set("toHexString", NumberFunctions::toHexString);
32+
3033
// String
3134
Functions.set("sprintf", new std_sprintf());
3235
Functions.set("split", new std_split());

0 commit comments

Comments
 (0)