有没有办法列出包导出的对象,而不实际附加它?我试过了
ls(loadNamespace("ggplot2"))
Run Code Online (Sandbox Code Playgroud)
但是,这会显示此包中的所有已定义和导入的对象.相反,我想只看到导出的名称.即我想要的结果
library(ggplot2)
ls("package:ggplot2")
Run Code Online (Sandbox Code Playgroud)
但是没有实际将包附加到我的搜索路径.
下面的代码做我想要的,但我想避免eval.Javascript中是否有一个函数通过字符串中定义的名称查找对象?
myobject = {"foo" : "bar"}
myname = "myobject";
eval(myname);
Run Code Online (Sandbox Code Playgroud)
一些上下文:我将它用于一个应用程序,其中dom中的大量节点具有html5 data-object属性,该属性在处理程序函数中用于连接回模型.
编辑:myobject既不是全局也不是本地,它是在处理程序的一个父框架中定义的.
我想使用location.hash编码我的客户端应用程序的状态,这样用户可以使用URL轻松地在完整状态下书签和/或共享应用程序.
关于URL的最大长度有许多(过时的)主题,特别是Internet Explorer中的限制.但是目前尚不清楚最大尺寸是多少location.hash.由于散列仅存在于客户端中,因此http或服务器的限制无关紧要.
我做了一个简单的jsfiddle测试这个:http://jsfiddle.net/Jz3ZA/.在Chrome和Firefox(Ubuntu 12.04)中,最多可以使用高达50K的哈希值.这是否意味着我可以使用它们来存储状态,还是我忽略了其他限制?
我需要用我的Ubuntu安装包安装一些cron作业.每天或每小时运行的都很简单:我可以创建一个符号链接/etc/cron.daily到我的脚本.
但是,我还有一个脚本,我想每10分钟运行一次.没有这样的事情/etc/cron.minutely.另外我不知道如何在不使用交互式编辑器(crontab -e)的情况下编辑crontab .最好的方法是什么?
有没有办法在不创建容器的情况下使用LXC进行资源管理?我正在开发一个在沙盒中运行任意代码的服务,我只对硬件资源管理感兴趣.我不想要任何chrooting; 我只是希望这些进程组能够访问主文件系统.
我被告知lxc重量很轻,但我看到的所有示例都为每个lxc进程创建了一个新的容器(即带有完整操作系统的dir).我真的没有看到它比其他任何VM解决方案都轻得多.
那么有没有什么方法可以用LXC来控制和管理多个进程组,而无需为每个进程组创建单独的容器?
所述getOption("max.print")可用于限制可从一个函数调用被打印的值的数目.例如:
options(max.print=20)
print(cars)
Run Code Online (Sandbox Code Playgroud)
仅打印2列的前10行.但是,max.print列表不能很好地工作.特别是如果它们被深深嵌套,打印到控制台的线条数量仍然是无限的.
有没有办法指定可以打印到屏幕上的金额的更难截止?例如,通过指定可以中断打印的行数量?什么也可以防止打印巨大的递归对象?
我正在使用新Bootstrap 3 RC2中的轮播组件.但是,我注意到在实践中,标题通常是不可读的,因为我的图片颜色非常多.之前的Bootstrap 2.3使用黑色渐变作为标题,但似乎已被删除.
用CSS设置我的标题样式以使它们对任意图像可读的方法是什么?我尝试过使用阴影和背景颜色,但这只会让人非常难看.
这里有一些示例代码:http://bit.ly/1eX8Tz9
我使用nginx作为反向代理,我希望它能缓存POST请求.我的后端已正确配置为POST请求返回适当的缓存控制头.在nginx中我配置了:
proxy_cache_methods POST;
proxy_cache_key "$request_method$request_uri$request_body";
Run Code Online (Sandbox Code Playgroud)
这适用于小型HTTP POST请求.但是我开始注意到对于大型请求(例如文件上传),它似乎$request_body被忽略了proxy_cache_key.当包含文件上载的表单提交两次完全不同的数据时,nginx将返回缓存的结果.
什么可能导致这个?如何配置nginx以便在大型POST请求中使用$request_body(或哈希$request_body)proxy_cache_key?
要在json中编码字符串,需要使用反斜杠转义几个保留字符,并且每个字符串都需要用双引号括起来.目前,该jsonlite包使用deparse基R中的函数实现了这个:
deparse_vector <- function(x) {
stopifnot(is.character(x))
vapply(x, deparse, character(1), USE.NAMES=FALSE)
}
Run Code Online (Sandbox Code Playgroud)
这样做的诀窍:
test <- c("line\nline", "foo\\bar", "I said: \"hi!\"")
cat(deparse_vector(test))
Run Code Online (Sandbox Code Playgroud)
然而deparse,对于大型载体来说,结果却很慢.另一种实现是gsub单独为每个角色:
deparse_vector2 <- function(x) {
stopifnot(is.character(x))
if(!length(x)) return(x)
x <- gsub("\\", "\\\\", x, fixed=TRUE)
x <- gsub("\"", "\\\"", x, fixed=TRUE)
x <- gsub("\n", "\\n", x, fixed=TRUE)
x <- gsub("\r", "\\r", x, fixed=TRUE)
x <- gsub("\t", "\\t", x, fixed=TRUE)
x <- gsub("\b", "\\b", x, fixed=TRUE)
x <- gsub("\f", "\\f", x, fixed=TRUE)
paste0("\"", x, …Run Code Online (Sandbox Code Playgroud) 从数据库游标中读取记录时,通常会提前知道有多少行.这使得无法预先分配正确大小的列表来存储这些对象.
当我们总大小未知时,将所有记录存储在列表中的有效方法是什么?基本列表类型很慢,因为每次附加元素时它都会复制整个列表:
x <- list()
for(i in 1:1e5){
x[[i]] <- list("foo" = rnorm(3), bar = TRUE)
}
Run Code Online (Sandbox Code Playgroud)
环境更有效,但它是地图而不是有序集.所以我们需要将索引转换为字符串,然后对键进行排序以检索值,这似乎不是最理想的:
env <- new.env()
for(i in 1:1e5){
env[[sprintf("%09d", i)]] <- list("foo" = rnorm(3), bar = TRUE)
}
x <- lapply(sort(ls(env)), get, env, inherits = FALSE)
Run Code Online (Sandbox Code Playgroud)
A pairlist应该是R中的链表,但是只要从R中追加一个元素,R就会将它强行插入到常规列表中.