我刚刚看到listen gem,它监视文件系统事件(或民意调查),并且可以在文件更改或添加时执行ruby代码。
它看起来非常好,但如果我需要捕获任何更改/添加到目录中的文件,有没有办法让我捕获自脚本最后一次以来更改的任何文件运行
即。有没有办法让Listen
使用持久性?
答案 0 :(得分:0)
如果目录更改事件顺序很重要,那么在脚本停止工作后,您可能无法获得该顺序,因为它已丢失且无法从文件系统中检索。
否则我会利用git repo在上次提交后收集更改,在脚本停止工作之前进行提交。
答案 1 :(得分:0)
尝试使用以下命令控制台来解决问题
typedef struct Node_ Node;
struct Node_ {
int Item;
Node* Next;
};
Node* GetNodeAt(Node *dataList, int indx) {
for (int i = 0; i < indx && dataList != NULL; ++i)
dataList = dataList->Next;
return dataList;
}
Node* SubList(Node *dataList, Node *posList) {
Node* origDataList = dataList;
Node *currentRetNode = malloc(sizeof(Node));
Node *prevRetNode = NULL, *returnList = currentRetNode;
while (posList->Next != NULL) {
// Find the node in dataList
Node *node = GetNodeAt(dataList, posList->Item);
// create/manage the linked list to be returned
prevRetNode = currentRetNode;
currentRetNode->Next = malloc(sizeof(Node));
currentRetNode->Item = node->Item;
currentRetNode = currentRetNode->Next;
posList = posList->Next; // move to the next index
}
free(currentRetNode);
if (prevRetNode == NULL)
returnList = NULL;
else
prevRetNode->Next = NULL;
return returnList;
}