假设我得到一个匿名函数需要对其上下文进行操作,但它是否与"窗口"或未知对象绑定是不同的.
如何从对象中引用匿名函数?
编辑,一些代码:
var ObjectFromOtherLibIAmNotSupposedToknowAbout = {
foo : function() {
// do something on "this"
}
}
var function bar(callback) {
// here I want to get a reference to
// ObjectFromOtherLibIAmNotSupposedToknowAbout
// if ObjectFromOtherLibIAmNotSupposedToknowAbout.foo is passed
// as callback
}
bar(ObjectFromOtherLibIAmNotSupposedToknowAbout.foo);
Run Code Online (Sandbox Code Playgroud)
你可能会合理地问,为什么你想做那样的事情.好吧,我首先想要解压缩作为数组传递的参数.就像Python" *"运算符一样:
>>> args = [1,2,3]
>>> def foo(a,b,c) :
print a,b,c
>>> foo(*args)
1 2 3
Run Code Online (Sandbox Code Playgroud)
我在SO中挖了一个帖子告诉使用"apply()":
function bar(callback, args){
this[callback].apply(this, args);
}
Run Code Online (Sandbox Code Playgroud)
有意思,因为如果在一个对象中它将使用当前的"this",如果没有则使用"window".
但我认为有一个问题:
如果"bar()"本身在一个对象中,那么"this"将引用"bar()"容器,因此它不会出现问题.
顺便说一句,我不想将范围作为参数传递.
我当然可以将参数和函数连接成一个字符串然后使用eval,但我只想在我找不到更清洁的东西时使用它.
当然,如果它只是不可能(毕竟它可能是),那么我会这样做:
function foo(func, …Run Code Online (Sandbox Code Playgroud) 这段代码片有什么问题?
class Program
{
static void Main(string[] args)
{
var obj = new { Name = "A", Price = 3.003 };
obj.Name = "asdasd";
obj.Price = 11.00;
Console.WriteLine("Name = {0}\nPrice = {1}", obj.Name, obj.Price);
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error 5 Property or indexer 'AnonymousType#1.Name' cannot be assigned to -- it is read only .....\CS_30_features.AnonymousTypes\Program.cs 65 13 CS_30_features.AnonymousTypes
Error 6 Property or indexer 'AnonymousType#1.Price' cannot be assigned to -- it is read only .....\CS_30_features.AnonymousTypes\Program.cs 66 13 CS_30_features.AnonymousTypes
Run Code Online (Sandbox Code Playgroud)
如何将值重新设置为匿名类型对象?
我想用 C# 将提示(即基于时间的标记,而不是类似 ID3 的标记)写入 WAV 文件。NAudio 和 Bass.NET 等免费 .NET 音频库似乎不支持此功能。
我找到了Cue Tools的来源,但它完全没有文档记录并且相对复杂。还有其他选择吗?
Spring安全性已用于我们的应用程序.Spring安全性已经以bean声明方式配置.
问题是:我登录到应用程序,浏览了几页,然后重新启动了服务器(但没有关闭浏览器).重新启动服务器后,我可以成功移动到其他页面.我确定它不是浏览器缓存,因为我在开始浏览其他页面之前删除了所有cookie.
为什么会这样?这是默认行为吗?如何在重新启动服务器后强制执行身份验证?
我正在学习更多关于Scala的知识,而且我在http://www.scala-lang.org/node/135中理解匿名函数的例子时遇到了一些麻烦.我已经复制了下面的整个代码块:
object CurryTest extends Application {
def filter(xs: List[Int], p: Int => Boolean): List[Int] =
if (xs.isEmpty) xs
else if (p(xs.head)) xs.head :: filter(xs.tail, p)
else filter(xs.tail, p)
def modN(n: Int)(x: Int) = ((x % n) == 0)
val nums = List(1, 2, 3, 4, 5, 6, 7, 8)
println(filter(nums, modN(2)))
println(filter(nums, modN(3)))
}
Run Code Online (Sandbox Code Playgroud)
我对modN功能的应用感到困惑
def modN(n: Int)(x: Int) = ((x % n) == 0)
Run Code Online (Sandbox Code Playgroud)
在示例中,使用一个参数调用它
modN(2) and modN(3)
Run Code Online (Sandbox Code Playgroud)
modN(n:Int)(x:Int)的语法是什么意思?
因为它是用一个参数调用的,所以我假设它们不是两个参数,但我无法弄清楚mod函数如何使用nums的值.
我有一个专门从事ASP.NET的开发团队.因此,我们提供的解决方案是基于Web的,在IIS上运行并使用MS SQL服务器.公司内部网内的一切.团队拥有这方面的专业知识,他们在C#和.Net方面表现出色.
该公司正在部署SharePoint MOSS 2007.此部署是我未参与的项目的一部分,而且我的信息很少.但是我知道他们已经建立了"思想家"层(那些会说要做什么),集成层(谁将配置,部署和管理生产),以及他们需要建立所谓的开发层(那些谁会做其他两个不能做的事情).
我被要求通过添加SharePoint开发来评估增加团队专业知识的可能性.这是很容易的部分,我只需要找到所需的培训并发送给我的员工.
然而现在,开发这个词可能意味着许多事情,有时我发现配置被用来代替开发.我没有任何反对通过开发新的专业知识来发展团队,但我想确保为我的开发人员提供刺激的东西.其次,我不想说我们拥有SharePoint开发专业知识,实际上我们只是修改css或xml文件.此外,我认为使用向导生成解决方案并不是推动C#开发人员遵循的最佳途径.
我首先问自己的问题是:SharePoint开发人员的背景是什么?如果被要求成为SharePoint开发人员,.Net开发人员会怎么样?
任何想法将不胜感激.
以下哪些代码更贵?
x = my_array.inject {|sum,i| int+=i }
Run Code Online (Sandbox Code Playgroud)
要么
x = eval(my_array.join('+'))
Run Code Online (Sandbox Code Playgroud) 我最近开始有用地使用 C# 扩展方法。SO 示例和文档表明它们仅用于实例方法(即使用this关键字)。可以将它们(或其他方法)与静态/类方法一起使用吗?
(我的特殊要求是将 Java 代码转换为 C#,其中“大部分代码”不需要编辑。Java 实例方法(例如 Java String.indexOf())可以通过调用 C# 的扩展方法路由string.IndexOf())。我想对 Java Math.abs()=> C#做同样的事情Math.Abs())。
总结不。答案表明,拥有它是一件合理的事情,但不太可能很快发生。变通方法需要编辑创建新类或类似的东西,可能不值得。
我正在尝试使用最近邻插值算法编写自己的函数来放大输入图像.不好的部分是我能够看到它是如何工作但无法找到算法本身.我将不胜感激任何帮助.
这是我尝试将输入图像放大2倍的原因:
function output = nearest(input)
[x,y]=size(input);
output = repmat(uint8(0),x*2,y*2);
[newwidth,newheight]=size(output);
for i=1:y
for j=1:x
xloc = round ((j * (newwidth+1)) / (x+1));
yloc = round ((i * (newheight+1)) / (y+1));
output(xloc,yloc) = input(j,i);
end
end
Run Code Online (Sandbox Code Playgroud)
这是马克建议之后的输出
matlab interpolation image-processing nearest-neighbor resize-image
c# ×3
arrays ×2
.net ×1
audio ×1
c#-3.0 ×1
c++ ×1
javascript ×1
matlab ×1
optimization ×1
resize-image ×1
ruby ×1
scala ×1
sharepoint ×1
static ×1
syntax ×1
this ×1
wav ×1