Skip to content

Commit 3d2f9f2

Browse files
author
梶塚太智
committed
Update main.rs
Developed new command casting data types
1 parent f13cf25 commit 3d2f9f2

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/main.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,19 @@ impl Executor {
772772
self.stack.push(Type::String(result));
773773
}
774774

775+
// 明示的なデータ型変換
776+
"cast" => {
777+
let types = self.pop_stack().get_string();
778+
let mut value = self.pop_stack();
779+
match types.as_str() {
780+
"number" => self.stack.push(Type::Number(value.get_number())),
781+
"string" => self.stack.push(Type::String(value.get_string())),
782+
"bool" => self.stack.push(Type::Bool(value.get_bool())),
783+
"list" => self.stack.push(Type::List(value.get_list())),
784+
_ => self.stack.push(value),
785+
}
786+
}
787+
775788
// メモリ情報を取得
776789
"mem" => {
777790
let mut list: Vec<Type> = Vec::new();

0 commit comments

Comments
 (0)