进一步深入研究R评估的奥秘......这与我之前的问题(如何编写一个评估数据框内表达式的R函数)密切相关.假设我想编写一个函数topfn,它接受一个数据框和一个涉及该数据框的列名的表达式.我想将这两个参数传递给另一个fn实际评估数据框"环境"中表达式的函数.我想要两者fn并topfn在传递数据框和表达式时正常工作
根据上述问题的答案,我的第一次尝试是定义:
fn <- function(dfr, expr) {
mf <- match.call()
eval( mf$expr, envir = dfr )
}
Run Code Online (Sandbox Code Playgroud)
并定义topfn如下:
topfn <- function(df, ex) {
mf <- match.call()
fn(df, mf$ex)
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个数据框架
df <- data.frame( a = 1:5, b = 1:5 )
Run Code Online (Sandbox Code Playgroud)
内部函数fn工作正常:
> fn(df,a)
[1] 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
但是topfn不起作用:
> topfn(df,a)
mf$ex
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我首先检查一下topfn(df,a),
> class(topfn(df,a))
[1] "call"
Run Code Online (Sandbox Code Playgroud)
这给了我一个丑陋的黑客重新定义fn如下的想法: …
Trace.Listeners和Debug.Listeners共享相同的内部集合,因此我无法向Trace.Listeners添加跟踪侦听器,也无法向Debug.Listeners添加调试侦听器以区分它们.
我怎样才能做到这一点?
编辑:
为什么我要这样做只是因为我正在为我们的应用程序编写一个日志记录层,我希望通过系统来跟踪不同的日志,其中Debug/Trace是两个日志源(还有其他几个来源)我想跟踪.
我正在寻找可以localStorage在没有本机支持的浏览器上模拟的JavaScript库和代码.
基本上,我想使用localStorage存储数据编码我的网站,并知道它仍然适用于本机不支持它的浏览器.这意味着库将检测是否window.localStorage存在并且如果存在则使用它.如果它不存在,那么它将通过在window.localStorage命名空间中创建自己的实现来创建某种本地存储的回退方法.
到目前为止,我已经找到了这些解决方案:
我知道Flash和Silverlight也可以用于本地存储,但是没有找到任何使用它们作为标准HTML5 localStorage的后备.也许谷歌Gears也有这个功能?
请分享您找到的任何相关库,资源或代码段!我对纯javascript或基于jquery的解决方案特别感兴趣,但我猜这不太可能.
SC.exe和InstallUtil都安装/卸载Windows服务.但它们似乎没有同样的方式.
有什么不同?
例如,当Sc create愉快地安装服务时,InstallUtil失败(某些文件或依赖项未找到错误).太陌生了; 如果我在控制台中运行net start,则不会显示该服务.但它确实出现在服务GUI中.当我尝试卸载时会发生这种变化.
我自己写了这个服务,早期的版本工作.Dotnet3.5.
我一直在使用Tapestry的内置组件,但现在我想尝试制作自己的组件.假设这是可能的,它是如何完成的,并且通常期望开发人员除了开箱即用之外还将创建自己的组件?
我有一个像这样的补丁文件:
Index: dir/file.xml
===================================================================
--- dir/file.xml (revision 178)
+++ dir/file.xml (working copy)
@@ -7,7 +7,7 @@
<markup>
- <markup />
+ <markup></markup>
<markup>
<markup>
@@ -20,6 +20,7 @@
<markup>
<markup>
+ <tag>
<markup>
Run Code Online (Sandbox Code Playgroud)
要将它应用于SVN工作副本,我使用以下方法对其进行分支:
$ svn copy -r 178 trunk/component/dir branches/mybranch
Run Code Online (Sandbox Code Playgroud)
然后我试了一下
$ cd branches/mybranch
$ ls -R
./dir:
file.xml
$ patch -p0 -i ~/patchfile.patch
Run Code Online (Sandbox Code Playgroud)
但SVN的输出是
(Stripping trailing CRs from patch.)
patching file dir/file.xml
Hunk #1 FAILED at 7.
Hunk #2 FAILED at 20.
2 out of 2 hunks FAILED …Run Code Online (Sandbox Code Playgroud) 我想在Google App引擎中开发一个大型Web应用程序,但我不知道使用哪个框架来获取MVC模型.我更喜欢使用Spring MVC,但我读到了GAE的几个问题.另一种选择是使用django和python,但我从未使用过.你推荐什么框架或选项?还有其他框架吗?
问候
我动态加载了几个带有标签和复选框的li到另一个可见的ul.我设置复选框被检查="已检查",我试图触发一个事件,当我更改这些动态插入复选框但没有任何事情发生.
这是jquery:
$(".otherProductCheckbox:checkbox").change( function(){
alert('test');
});
Run Code Online (Sandbox Code Playgroud)
这是动态添加的li的html:
<li class="otherProduct"><input type="checkbox" class="otherProductCheckbox radioCheck" checked="checked"/><label>Product Name</label></li>
Run Code Online (Sandbox Code Playgroud)
知道为什么我不能在复选框更改其检查状态时发生警报?
例如,我们调用BeginReceive并具有BeginReceive完成后执行的回调方法.如果那个回调方法再次在我的脑海中调用BeginReceive,那将非常类似于递归.这怎么会导致stackoverflow异常.来自MSDN的示例代码:
private static void Receive(Socket client) {
try {
// Create the state object.
StateObject state = new StateObject();
state.workSocket = client;
// Begin receiving the data from the remote device.
client.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReceiveCallback), state);
} catch (Exception e) {
Console.WriteLine(e.ToString());
}
}
private static void ReceiveCallback( IAsyncResult ar ) {
try {
// Retrieve the state object and the client socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket client = …Run Code Online (Sandbox Code Playgroud) 我正在尝试从WIX安装程序设置一些端口.对于WinXP,我们在自定义操作中使用httpcfg,这很好用.对于Win7,我们正在尝试:
netsh http add urlacl url=http://127.0.0.1/8346/ user="NT AUTHORITY\Authenticated Users" sddl="D:(A;;GX;;;AU)"
Run Code Online (Sandbox Code Playgroud)
WIX安装程序正确执行此语句并设置端口 - 运行.msi的管理员.拥有较少权限的用户无法访问这些端口.我需要为机器上的所有用户设置它,但我已经尝试了所有我能想到的没有运气的东西.
我觉得很奇怪的是管理员用户可以使用netstat -a查看分配的端口,但它们根本没有出现使用netsh http show urlacl ...是指示出错了吗?