来自linux的人如何制作/dev文件.你可以写信给他们并立即删除.我可以想象一些程序不断读取一些开发文件:
FILE *fp;
char buffer[255];
int result;
fp = fopen(fileName, "r");
if (!fp) {
printf("Open file error");
return;
}
while (1)
{
result = fscanf(fp, "%254c", buffer);
printf("%s", buffer);
memset(buffer, 0, 255);
fflush(stdout);
sleep(1);
}
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
But how to delete content in there? Closing a file and opening them once again in "w" mode is not the way how they done it, because you can do i.e. cat > /dev/tty
我想使用State monad来实现第三方API提供的数据的缓存.让我们想象getThirdPartyData(key: String)首先检查缓存的方法,然后如果它不存在那么应该向API发出请求.我想到的第一个也是最天真的实现是将状态包含在Future中 -
Future[State[Cache, ThirdPartyData]]
Run Code Online (Sandbox Code Playgroud)
但这不正确,因为当请求失败时,您将丢失缓存(getThirdPartyData将返回Failure).
我想到的第二个选择是延伸,或者更确切地说重新定义状态monad - s => Future[(s,a)]而不是s => (s,a),但我认为它是非常受欢迎的问题,所以scalaz可能有一些已经定义的方法来解决这个问题.
任何帮助非常感谢!
让我们假设两个表Box和Item.盒子可能有很多物品,一件物品只有一个盒子.我想获取所有包含给定数组的项目的项目.我怎么能这样做?在CD中我会通过Item类中的谓词和属性来表示,它代表与Box的连接.
我使用的是0.81版本