mkdir and rmdir basic implementation
This commit is contained in:
20
ml.cpp
20
ml.cpp
@@ -1362,6 +1362,24 @@ MlValue is_dir(std::vector<MlValue> args, MlEnvironment &env) {
|
||||
return MlValue(is_path_dir(args[0].as_string()));
|
||||
}
|
||||
|
||||
MlValue mk_dir(std::vector<MlValue> args, MlEnvironment &env) {
|
||||
eval_args(args, env);
|
||||
|
||||
if (args.size() != 1)
|
||||
throw MlError(MlValue("mk-dir", mk_dir), env, args.size() > 1 ? TOO_MANY_ARGS : TOO_FEW_ARGS);
|
||||
|
||||
return MlValue((bool)mk_path_dir(args[0].as_string()));
|
||||
}
|
||||
|
||||
MlValue rm_dir(std::vector<MlValue> args, MlEnvironment &env) {
|
||||
eval_args(args, env);
|
||||
|
||||
if (args.size() != 1)
|
||||
throw MlError(MlValue("rm-dir", rm_dir), env, args.size() > 1 ? TOO_MANY_ARGS : TOO_FEW_ARGS);
|
||||
|
||||
return MlValue((bool)rm_path_dir(args[0].as_string()));
|
||||
}
|
||||
|
||||
// starts tcp listening server
|
||||
MlValue tcp_server(std::vector<MlValue> args, MlEnvironment &env) {
|
||||
eval_args(args, env);
|
||||
@@ -2226,6 +2244,8 @@ std::map<const std::string, Builtin> builtin_funcs
|
||||
std::make_pair("ls-dir", builtin::ls_dir),
|
||||
std::make_pair("is-file?", builtin::is_file),
|
||||
std::make_pair("is-dir?", builtin::is_dir),
|
||||
std::make_pair("mk-dir", builtin::mk_dir),
|
||||
std::make_pair("rm-dir", builtin::rm_dir),
|
||||
std::make_pair("tcp-server", builtin::tcp_server),
|
||||
std::make_pair("tcp-client", builtin::tcp_client),
|
||||
std::make_pair("get-env", builtin::get_env),
|
||||
|
||||
Reference in New Issue
Block a user