set ORIG;
set DEST;
set LINKS within {ORIG,DEST};
printf {i in ORIG, j in DEST} "LINKS[%s,%s] = %g \n",i,j,LINKS[i][j];
data;
set ORIG := GARY CLEV PITT;
set DEST := FRA DET LAN WIN STL FRE LAF;
set LINKS :=
(GARY,*) DET LAN STL LAF
(CLEV,*) FRA DET LAN WIN STL LAF
(PITT,*) FRA WIN STL FRE;
end;
这会停止并显示以下错误消息:
LINKS无法下标
如何定义LINKS
以便可以使用LINKS[i][j]
访问它?
答案 0 :(得分:0)
根据gnu-help的一些建议,这似乎是一个更好的语法 对于这个问题:
service cloud.firestore {
match /databases/{database}/documents {
function maybeString(val) {
return val == null || val is string
}
match /myCollection/{document} {
function mySchema() {
return request.resource.data.name is string
&& maybeString(request.resource.data.optionalProp);
}
allow read: if request.auth != null;
allow create, update: if mySchema();
}
}
}
service cloud.firestore {
match /databases/{database}/documents {
match /myCollection/{document} {
function mySchema() {
return request.resource.data.keys().hasAll(['name'])
&& request.resource.data.name is string
&& request.resource.data.optionalProp is string;
}
allow read: if request.auth != null;
allow create, update: if mySchema();
}
}
}