•file.Exists
This commit is contained in:
parent
eae7501d36
commit
7b031a2aa0
@ -670,6 +670,7 @@ static void sys_gcFn() {
|
|||||||
|
|
||||||
|
|
||||||
static NFnDesc* fTypeDesc;
|
static NFnDesc* fTypeDesc;
|
||||||
|
static NFnDesc* fExistsDesc;
|
||||||
static NFnDesc* fListDesc;
|
static NFnDesc* fListDesc;
|
||||||
B list_c1(B d, B x) {
|
B list_c1(B d, B x) {
|
||||||
return path_list(path_rel(nfn_objU(d), x));
|
return path_list(path_rel(nfn_objU(d), x));
|
||||||
@ -680,6 +681,10 @@ B ftype_c1(B d, B x) {
|
|||||||
if (ty==0) thrM("•file.Type: Error while accessing file");
|
if (ty==0) thrM("•file.Type: Error while accessing file");
|
||||||
return m_c32(ty);
|
return m_c32(ty);
|
||||||
}
|
}
|
||||||
|
B fexists_c1(B d, B x) {
|
||||||
|
char ty = path_type(path_rel(nfn_objU(d), x));
|
||||||
|
return m_f64(ty!=0);
|
||||||
|
}
|
||||||
|
|
||||||
B fName_c1(B t, B x) {
|
B fName_c1(B t, B x) {
|
||||||
if (!isArr(x) || rnk(x)!=1) thrM("•file.Name: Argument must be a character vector");
|
if (!isArr(x) || rnk(x)!=1) thrM("•file.Name: Argument must be a character vector");
|
||||||
@ -1072,7 +1077,7 @@ B sys_c1(B t, B x) {
|
|||||||
if(!fileNS.u) {
|
if(!fileNS.u) {
|
||||||
REQ_PATH;
|
REQ_PATH;
|
||||||
#define F(X) m_nfn(X##Desc, inc(path))
|
#define F(X) m_nfn(X##Desc, inc(path))
|
||||||
fileNS = m_nns(file_nsGen, q_N(path)? m_c32(0) : inc(path), F(fileAt), F(fList), F(fBytes), F(fChars), F(fLines), F(fType), inc(bi_fName));
|
fileNS = m_nns(file_nsGen, q_N(path)? m_c32(0) : inc(path), F(fileAt), F(fList), F(fBytes), F(fChars), F(fLines), F(fType), F(fExists), inc(bi_fName));
|
||||||
#undef F
|
#undef F
|
||||||
}
|
}
|
||||||
cr = inc(fileNS);
|
cr = inc(fileNS);
|
||||||
@ -1141,10 +1146,11 @@ void sysfn_init() {
|
|||||||
fBytesDesc = registerNFn(m_str8l("(file).Bytes"), fbytes_c1, fbytes_c2);
|
fBytesDesc = registerNFn(m_str8l("(file).Bytes"), fbytes_c1, fbytes_c2);
|
||||||
fListDesc = registerNFn(m_str8l("(file).List"), list_c1, c2_bad);
|
fListDesc = registerNFn(m_str8l("(file).List"), list_c1, c2_bad);
|
||||||
fTypeDesc = registerNFn(m_str8l("(file).Type"), ftype_c1, c2_bad);
|
fTypeDesc = registerNFn(m_str8l("(file).Type"), ftype_c1, c2_bad);
|
||||||
|
fExistsDesc = registerNFn(m_str8l("(file).Exists"), fexists_c1, c2_bad);
|
||||||
importDesc = registerNFn(m_str32(U"•Import"), import_c1, import_c2);
|
importDesc = registerNFn(m_str32(U"•Import"), import_c1, import_c2);
|
||||||
reBQNDesc = registerNFn(m_str8l("(REPL)"), repl_c1, repl_c2);
|
reBQNDesc = registerNFn(m_str8l("(REPL)"), repl_c1, repl_c2);
|
||||||
}
|
}
|
||||||
void sysfnPost_init() {
|
void sysfnPost_init() {
|
||||||
file_nsGen = m_nnsDesc("path","at","list","bytes","chars","lines","type","name");
|
file_nsGen = m_nnsDesc("path","at","list","bytes","chars","lines","type","exists","name");
|
||||||
c(BMd1,bi_bitcast)->im = bitcast_im;
|
c(BMd1,bi_bitcast)->im = bitcast_im;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user