如何在R中创建"空对象"?[编辑:我不知道如何正确地称这个"东西"所以我称之为"空对象",其他人:"空符号","零长度符号","缺少对象"也可能被使用]
[编辑2:最后我倾向于在"缺失的符号对象"上找到"事物"的名称.似乎J.Chambers在他2008年的书中使用了这个术语,请参阅@ mbq答案的评论.根据钱伯斯的说法,"缺失符号"的内容为零长度字符串.因此,as.symbol("")应该创建这样一个对象,它在当前版本的R(2.11.1)中不会
我能找到的最简单的方法是
x <- alist(a=)$a
Run Code Online (Sandbox Code Playgroud)
[澄清]
请注意,"空对象"不是NULL对象或长度为0的向量.上面示例中的"空对象"x可用于函数的形式操作,这是我需要的.
这是一个例子:
> al <- alist(a = 323, b = , c = 434)
> al
$a
[1] 323
$b
$c
[1] 434
>
> al[["c"]] <- numeric()
> al
$a
[1] 323
$b
$c #not empty
numeric(0)
>
> al[["c"]] <- list()
> al
$a
[1] 323
$b
$c #not empty
list()
>
>
> al[["c"]] <- NULL #object removed
> al
$a
[1] 323
$b
>
> al[["c"]] <- alist(a …Run Code Online (Sandbox Code Playgroud) 从我在网上找到的文章看来,NTFS上的文件似乎有两种形式的唯一标识符:
使用Windows API GetFileInformationByHandle(),我们可以访问结构BY_HANDLE_FILE_INFORMATION,其中包含卷序列号和低/高文件索引. http://msdn.microsoft.com/en-us/library/aa363788(VS.85).aspx
$ Object_ID - 文章http://blogs.technet.com/b/askcore/archive/2010/08/25/ntfs-file-attributes.aspx声明:
$ OBJECT_ID - 这是一个包含ID的属性.此ID由分布式链接跟踪服务使用.可以在快捷方式中找到如何使用它的示例.在桌面上创建指向文件的快捷方式.然后移动该文件.快捷方式仍然有效,因为除了路径和文件名之外,它还使用了一种方法来处理源文件.
并非所有文件都具有$ OBJECT_ID属性.实际上,直到分配实际ID才会将属性添加到文件中.
我试图了解何时设置了对象ID.以下是一些问题:
何时分配对象ID?根据上面的文章,在一种情况下,当创建文件的快捷方式时,会出现这种情况.
当文件引用另一个文件(例如嵌入Visio图表的Word文档)时,是否会自动分配对象ID?
只有在启用/运行分布式链接跟踪时才会分配对象ID,或者它们是否存在,而不管分布式链接跟踪?
如果我想跟踪文件的唯一标识符,那么在组合的卷序列号和文件索引(低/高)上使用对象ID(64字节)是否有任何好处,它们组合为12个字节.
谢谢,Elan
我的问题具体是关于sql-server,但可能有任何数据库背景的人都可以回答
如果我希望表A与某个列上的表B具有1:1的关系,我是否应该以某种方式修改CREATE TABLE语句来识别这种关系,或者这是根本没有完成的事情(而是由逻辑处理) )?
编辑
我的问题的第二部分是:将这个嵌入到代码中的重点是什么?为什么不在逻辑上处理选择/更新?
嘿,尝试使用curl发布文件,一切都很好.我有一个问题.我无法在post_file()函数之外声明我的文件.我在我的应用程序中多次调用此函数,因此希望它可以重用.
这样可行:
function call_me(){
$file_path = "/home/myfile.mov";
$url = "http://myurl.com";
$this->post_file($url, $file_path);
}
function post_file($url, $file_path){
$data['Filedata'] = "@".$file_path;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
return $response;
}
Run Code Online (Sandbox Code Playgroud)
但是,这不是:
function call_me(){
$file_path = "/home/myfile.mov";
$url = "http://myurl.com";
$data['Filedata'] = "@".$file_path;
$this->post_file($url, $data);
}
function post_file($url, $data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response …Run Code Online (Sandbox Code Playgroud) 我有下表:
CREATE TABLE "posting" (
"id" integer NOT NULL PRIMARY KEY,
"amount" real NOT NULL,
"balance" real NOT NULL,
"account_id" integer NOT NULL REFERENCES "account" ("id"),
"asset_type_id" integer NOT NULL REFERENCES "asset_type" ("id")
)
Run Code Online (Sandbox Code Playgroud)
对于此表,我以无间隙的方式手动生成ID(无法删除记录).保证以下声明将返回最新记录:
SELECT * FROM posting ORDER BY id DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
问题是,现在我需要不仅检索"account_id"和"asset_type_id"的每个组合的最后一条记录,而且还要检索最后一条记录.例如,假设我有两个'帐户'和两个'asset_types'(都带有ID 1和2)和以下记录(省略金额和余额):
id | account_id | asset_type_id
1 | 1 | 1
2 | 2 | 1
3 | 1 | 2
4 | 2 | 1
5 | 2 | 2
6 | 2 …Run Code Online (Sandbox Code Playgroud) 我是一个不允许直接连接到互联网的代理服务器.我的所有PHP应用程序都无法连接到Internet进行更新检查等.
如何告诉PHP我的代理设置?
我不想在代码中输入代理设置,我希望PHP本身通过全局配置设置或类似的方式使用它.
我有Windows7和Visual Studio 2008.我已经打开了新的Wpf应用程序并运行它,并运行Snoop并且它没有检测到我的wpf窗口.为什么?
我试过刷新按钮 - 没有帮助.
我正在制作各种类型的CMS,当然,它会有一个博客.所以,这可能是一个非常棒的问题,但是,从数据库优化的角度来看,你会使用varchar(max)还是varbinary(max)来存储博客文章的正文?
我有一个自动释放的对象,我分配给一个对象的合成(保留)属性,但它将它们标记为泄漏.泄漏有时会产生误报,还是我错过了什么?
database ×2
php ×2
sql-server ×2
blogs ×1
curl ×1
file ×1
file-upload ×1
filesystems ×1
instruments ×1
ntfs ×1
objective-c ×1
postgresql ×1
proxy ×1
r ×1
seadragon ×1
snoop ×1
sql ×1
windows ×1
wpf ×1