|
|
@@ -79,6 +79,9 @@ pika_float PikaStdLib_SysObj_float(PikaObj* self, Arg* arg) {
|
|
|
if (ARG_TYPE_FLOAT == type) {
|
|
|
return (float)arg_getFloat(arg);
|
|
|
}
|
|
|
+ if (ARG_TYPE_STRING == type) {
|
|
|
+ return strtod(arg_getStr(arg), NULL);
|
|
|
+ }
|
|
|
obj_setSysOut(self, "[error] convert to pika_float type failed.");
|
|
|
obj_setErrorCode(self, 1);
|
|
|
return -99999.99999;
|
|
|
@@ -161,9 +164,9 @@ Arg* PikaStdLib_SysObj_iter(PikaObj* self, Arg* arg) {
|
|
|
// "0 RUN __iter__\n"
|
|
|
// "0 OUT __res\n");
|
|
|
const uint8_t bytes[] = {
|
|
|
- 0x08, 0x00, 0x00, 0x00,/* instruct array size */
|
|
|
+ 0x08, 0x00, 0x00, 0x00, /* instruct array size */
|
|
|
0x00, 0x82, 0x01, 0x00, 0x00, 0x04, 0x0a, 0x00, /* instruct array */
|
|
|
- 0x10, 0x00, 0x00, 0x00, /* const pool size */
|
|
|
+ 0x10, 0x00, 0x00, 0x00, /* const pool size */
|
|
|
0x00, 0x5f, 0x5f, 0x69, 0x74, 0x65, 0x72, 0x5f,
|
|
|
0x5f, 0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
|
|
};
|
|
|
@@ -247,11 +250,11 @@ Arg* PikaStdLib_SysObj___setitem__(PikaObj* self,
|
|
|
)
|
|
|
/* clang-format on */
|
|
|
const uint8_t bytes[] = {
|
|
|
- 0x0c, 0x00, 0x00, 0x00,/* instruct array size */
|
|
|
+ 0x0c, 0x00, 0x00, 0x00, /* instruct array size */
|
|
|
0x10, 0x81, 0x01, 0x00, 0x10, 0x01, 0x07, 0x00, 0x00, 0x02, 0x0d,
|
|
|
0x00,
|
|
|
/* instruct array */
|
|
|
- 0x19, 0x00, 0x00, 0x00,/* const pool size */
|
|
|
+ 0x19, 0x00, 0x00, 0x00, /* const pool size */
|
|
|
0x00, 0x5f, 0x5f, 0x6b, 0x65, 0x79, 0x00, 0x5f, 0x5f, 0x76, 0x61,
|
|
|
0x6c, 0x00, 0x5f, 0x5f, 0x73, 0x65, 0x74, 0x69, 0x74, 0x65, 0x6d,
|
|
|
0x5f, 0x5f, 0x00,
|
|
|
@@ -283,10 +286,10 @@ int PikaStdLib_SysObj_len(PikaObj* self, Arg* arg) {
|
|
|
)
|
|
|
/* clang-format on */
|
|
|
const uint8_t bytes[] = {
|
|
|
- 0x08, 0x00, 0x00, 0x00,/* instruct array size */
|
|
|
+ 0x08, 0x00, 0x00, 0x00, /* instruct array size */
|
|
|
0x00, 0x82, 0x01, 0x00, 0x00, 0x04, 0x09, 0x00, /* instruct
|
|
|
array */
|
|
|
- 0x0f, 0x00, 0x00, 0x00,/* const pool size */
|
|
|
+ 0x0f, 0x00, 0x00, 0x00, /* const pool size */
|
|
|
0x00, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x5f, 0x5f, 0x00,
|
|
|
0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
|
|
};
|
|
|
@@ -315,7 +318,7 @@ Arg* PikaStdLib_SysObj_list(PikaObj* self, PikaTuple* val) {
|
|
|
)
|
|
|
/* clang-format on */
|
|
|
const uint8_t bytes[] = {
|
|
|
- 0x3c, 0x00, 0x00, 0x00,/* instruct array size */
|
|
|
+ 0x3c, 0x00, 0x00, 0x00, /* instruct array size */
|
|
|
0x00, 0x95, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x10, 0x81, 0x07,
|
|
|
0x00, 0x00, 0x02, 0x0e, 0x00, 0x00, 0x04, 0x13, 0x00, 0x00, 0x82,
|
|
|
0x17, 0x00, 0x00, 0x04, 0x24, 0x00, 0x00, 0x0d, 0x24, 0x00, 0x00,
|
|
|
@@ -323,7 +326,7 @@ Arg* PikaStdLib_SysObj_list(PikaObj* self, PikaTuple* val) {
|
|
|
0x00, 0x86, 0x3a, 0x00, 0x00, 0x8c, 0x13, 0x00, 0x00, 0x8c, 0x24,
|
|
|
0x00, 0x00, 0x8c, 0x07, 0x00,
|
|
|
/* instruct array */
|
|
|
- 0x3d, 0x00, 0x00, 0x00,/* const pool size */
|
|
|
+ 0x3d, 0x00, 0x00, 0x00, /* const pool size */
|
|
|
0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, 0x5f, 0x5f, 0x6c, 0x69,
|
|
|
0x73, 0x74, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x24, 0x6c, 0x30,
|
|
|
0x00, 0x24, 0x6c, 0x30, 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74,
|
|
|
@@ -624,8 +627,8 @@ Arg* PikaStdLib_SysObj_eval(PikaObj* self, char* code) {
|
|
|
}
|
|
|
|
|
|
static enum shellCTRL __obj_shellLineHandler_input(PikaObj* self,
|
|
|
- char* input_line,
|
|
|
- struct ShellConfig* cfg) {
|
|
|
+ char* input_line,
|
|
|
+ struct ShellConfig* cfg) {
|
|
|
cfg->context = arg_newStr(input_line);
|
|
|
return SHELL_CTRL_EXIT;
|
|
|
}
|