假设我刚刚调用了一个函数f,并且在函数的某处发生了错误.我只是希望能够在错误发生之前检查出不同变量的值.
假设我的直觉告诉我这是一个小错误,所以我懒得使用debug(f)而且懒得插入browser()功能的部分我认为出错了.而且我懒得开始print()发表声明.
这是一个例子:
x <- 1:5
y <- x + rnorm(length(x),0,1)
f <- function(x,y) {
y <- c(y,1)
lm(y~x)
}
Run Code Online (Sandbox Code Playgroud)
调用f(x,y)我们得到以下错误:
Error in model.frame.default(formula = y ~ x, drop.unused.levels = TRUE) :
variable lengths differ (found for 'x')
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想要在lm()调用之前获取环境的状态; 这样我可以打电话x,y看看他们的长度是不同的.(这个例子可能太简单了,但我希望它可以解决这个问题.)
有人可以概述各种可用的Hadoop发行版之间的差异:
使用Apache Hadoop发行版作为基线.
有没有充分的理由在标准的Apache Hadoop发行版上使用其中一个发行版?
我目前正在为UnconstrainedMelody编写一些代码,它具有与枚举有关的通用方法.
现在,我有一个带有一堆方法的静态类,这些方法只能用于"flags"枚举.我不能将其添加为约束...所以它们也可能会被其他枚举类型调用.在那种情况下,我想抛出异常,但我不确定要抛出哪一个.
只是为了使这个具体,如果我有这样的事情:
// Returns a value with all bits set by any values
public static T GetBitMask<T>() where T : struct, IEnumConstraint
{
if (!IsFlags<T>()) // This method doesn't throw
{
throw new ???
}
// Normal work here
}
Run Code Online (Sandbox Code Playgroud)
投掷的最佳例外是什么?ArgumentException听起来合乎逻辑,但它是一个类型参数,而不是一个普通的参数,这很容易混淆事物.我应该介绍自己的TypeArgumentException课吗?用InvalidOperationException吗?NotSupportedException?还要别的吗?
我宁愿不为此创建我自己的例外,除非它显然是正确的事情.
最近对于编程类,我们被赋予了用任何语言编写程序的赋值,给定n,将产生大小为n的数组p的所有可能的紊乱,使得对于所有i:0的p [i]!= i <= i <n.我们必须使用迭代器,例如.yield
示例:n = 3,[0,1,2]不是紊乱,但[2,0,1]和[1,2,0]一样.
我提出了一个可以工作的伪代码解决方案,但问题是它需要电源循环(即n个嵌套循环,其中n仅在运行时已知).为此,我在一个字符串中生成了Ruby代码中的n个嵌套循环,然后eval是字符串.我的解决方案有效,但是我的教授认为使用少量gotos比动态代码生成更好的解决方案(至少更容易阅读).
我的印象goto总是一个糟糕的选择.为什么运行时评估动态生成的代码比选择更糟糕goto呢?生成的代码简洁明了,对于给定的问题似乎相当有效.代码生成所依赖的唯一用户输入是n,检查它以确保它是预先的整数值.这应该yield是唯一的紊乱.
我不是要求我的编程任务的解决方案,我只是想知道使用goto过度动态代码评估的原因,反之亦然.
编辑: 澄清一下,赋值包括使用迭代器编写程序和使用递归编写另一个程序,因此迭代版本不一定意味着高效.
我正在审查一些遗留代码,我发现了一个导致响应无限期的错误.
这是基本的想法:
Response.Content-Type = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename" & someFileName)
Response.AddHeader("Content-Length", someStoredLength)
Response.BinaryWrite(someByteArray)
Response.Flush()
Response.End()
Run Code Online (Sandbox Code Playgroud)
问题是someStoredLength比someByteArray的实际大小大得多,所以客户端只是坐在那里等待文件下载,而浏览器只是旋转.
我正在考虑删除指定内容长度的AddHeader,因为当我这样做时,一切似乎工作正常,但我担心我不理解某些东西.
我可以删除这个AddHeader,还是应该找到一个更好的方法来解决这个问题?
注意:这是对这个问题的完全重写。我之前曾将一些 ACL 问题与我正在寻找的问题混为一谈,这可能就是没有答案的原因。
我有一个 Windows 服务,它使用标准的打开/关闭/写入例程来写入日志文件(它从管道读取内容并将其填充到日志中)。每天午夜打开一个新的日志文件。系统是Windows XP Embedded。
该服务作为本地系统服务运行(用户为 NULL 的 CreateService)。
当服务最初启动时,它会创建一个日志文件并毫无问题地写入其中。此时一切正常,您可以毫无问题地重新启动服务(或计算机)。
但是,在午夜(当天更改时),该服务会创建一个新的日志文件并写入其中。有趣的是,这个新的日志文件设置了“只读”标志。这是一个问题,因为如果服务(或计算机)重新启动,服务将无法再打开文件进行写入。
以下是已经发生问题的系统的相关信息:
Directory of C:\bbbaudit
09/16/2009 12:00 AM <DIR> .
09/16/2009 12:00 AM <DIR> ..
09/16/2009 12:00 AM 437 AU090915.ADX
09/16/2009 12:00 AM 62 AU090916.ADX
attrib c:\bbbaudit\*
A C:\bbbaudit\AU090915.ADX <-- old log file (before midnight)
A R C:\bbbaudit\AU090916.ADX <-- new log file (after midnight)
cacls output:
C:\ BUILTIN\Administrators:(OI)(CI)F
NT AUTHORITY\SYSTEM:(OI)(CI)F
CREATOR OWNER:(OI)(CI)(IO)F
BUILTIN\Users:(OI)(CI)R
BUILTIN\Users:(CI)(special access:)
FILE_APPEND_DATA
BUILTIN\Users:(CI)(IO)(special access:)
FILE_WRITE_DATA
Everyone:R
C:\bbbaudit BUILTIN\Administrators:(OI)(CI)F
NT AUTHORITY\SYSTEM:(OI)(CI)F
CFN3\Administrator:F
CREATOR OWNER:(OI)(CI)(IO)F …Run Code Online (Sandbox Code Playgroud) 我有一个webbrowser控件,我可以得到用户选择的单词.我将这个单词保存在一个文件中,并且使用它我也保存了它的字节偏移量和长度.
让我说我的Web浏览器控件中有一些文本为"Hello Hey Hello"让我们说用户选择了最后一个hello.
现在这个单词和我一起保存,以及其长度等其他信息.
当用户重新加载文件时,我需要提供一个突出显示所选单词的功能,并将该单词及其长度和字节偏移量发送给我
有没有办法做到这一点.
我想在我的控制器中添加几个实例变量,因为在多个动作的视图中需要有问题的变量.但是,下面的示例并不像我预期的那样有效.
class ExampleController < ApplicationController
@var1 = "Cheese"
@var2 = "Tomato"
def show_pizza_topping
# What I want is the above instance vars from within the view here
end
def show_sandwich_filling
# What I want is the above instance vars from within the view here
end
end
Run Code Online (Sandbox Code Playgroud)
据我了解,Rails从控制器获取实例变量并使其在视图中可用.如果我在动作方法中分配相同的变量,它工作正常 - 但我不想做两次.为什么我的方式不起作用?
(注意:这是一个垃圾的例子,但我希望它有意义)
编辑:我在这里找到了这个问题的答案:什么时候Ruby实例变量设置?
编辑2:何时是使用诸如before_filter和initialize方法之类的过滤器的最佳时间?
我最近遇到了这个奇怪的问题,我试图在iframe中引用父窗口,但不知何故window.parent或parent总是未定义.
我通过使用window.top解决了这个问题,但是这个问题仍然困扰着我.
为什么window.parent未定义?
这是一个.NET Web应用程序,如果有帮助的话.
更新:我想补充一点,父和子iframe都指向同一个域(localhost).至于代码,我尝试了以下代码:
if (parent != null)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
在哪里做某事永远不会发生,我也尝试过
alert(parent)
Run Code Online (Sandbox Code Playgroud)
和
alert(window.parent)
Run Code Online (Sandbox Code Playgroud)
他们总是出现无效.