标签: anonymous-function

C#中类似JavaScript的匿名函数

可以在C#中完成以下操作吗?:

var greeting = "Hello" + function ()
{
    return " World";
}() + "!";
Run Code Online (Sandbox Code Playgroud)

我想做一些事情(C#伪代码):

var cell = new TableCell { CssClass = "", Text = return delegate ()
{
     return "logic goes here";
}};
Run Code Online (Sandbox Code Playgroud)

基本上我想实现某些逻辑的内联作用域,而不是将该块逻辑移动到单独的方法中.

javascript c# anonymous-methods anonymous-function

0
推荐指数
1
解决办法
1092
查看次数

Javascript如何在迭代列表操作中使用setTimeout?

我想做这样的事情:

for(var i=0;i<aList.length;i++)
{
    aList[i].doSomething();
    sleep(500);
}
Run Code Online (Sandbox Code Playgroud)

当然,javascript中没有睡眠功能所以我尝试了以下内容:

for(var i=0;i<aList.length;i++)
{
    setTimeout(function(){
        aList[i].doSomething();
    },500);  
}
Run Code Online (Sandbox Code Playgroud)

但是,现在它说没有定义aList [i].由于匿名函数是一个闭包,它实际上是从外部函数的范围读取aList [i],因此在运行setTimeout中的函数时,i已经发生了变化.

有什么方法可以实现这个目标?

javascript closures anonymous-function settimeout

0
推荐指数
1
解决办法
2347
查看次数

PHP中的"use"关键字是否可以在闭包上下文中使用匿名函数?

我正在尝试执行以下PHP代码:

$path_hierarchy = // function that returns an array

return array_reduce(
    $terms,
    function($val1, $val2) use ($path_hierarchy) {
        return $val1 || in_array($val2, $path_hierarchy);
    }
);
Run Code Online (Sandbox Code Playgroud)

...但是我收到以下PHP错误:

PHP Parse error: syntax error, unexpected ')', expecting '{'

所以,我切换到以下语法:

$path_hierarchy = // function that returns an array

$callback = function($val1, $val2) use ($path_hierarchy) {
    return $val1 || in_array($val2, $path_hierarchy);
};

return array_reduce(
    $terms,
    $callback
);
Run Code Online (Sandbox Code Playgroud)

......这很有效.我不能use在匿名函数的上下文中使用关键字作为另一个函数的参数吗?

php reduce closures anonymous-function

0
推荐指数
1
解决办法
164
查看次数

在Scala中返回代码块

我试图在Scala中实现闭包示例,来自Neal Ford在Groovy中的Functional Thinking演示.参见幻灯片#43和44 https://sea.ucar.edu/sites/default/files/Functional_Thinking.pdf

  def makeCounter : Unit = {
var localVar = 0
return { localVar += 1 }
}
Run Code Online (Sandbox Code Playgroud)

此代码返回匿名函数.现在我想通过调用这个匿名函数来增加localVar.

我有两个问题:
1.如何调用匿名函数?
2.调用后,如何检查localVar的值是否增加?

首先我尝试了这个 -
val c1 = makeCounter().它抛出以下错误:
错误:Unit类型的makeCounter不带参数

然后我尝试了这个.
val c1 = makeCounter

这没有给出任何错误.仅打印c1:单位=().

然后,
打印(c1)打印(),而c1()给出相同的错误.

functional-programming scala anonymous-function

0
推荐指数
1
解决办法
1007
查看次数

提供命名函数时,函数不起作用

我不知道为什么这两个代码片段不会产生相同的结果.在第一个例子中,我创建了一个函数并传递它,在第二个例子中,我编写了一个匿名函数.

 function funct() {
        $("p").slideUp(1000);
 }
 $(document).ready(funct());

 $(document).ready(function() {
        $("p").slideUp(1000);
 });
Run Code Online (Sandbox Code Playgroud)

第二个有效,第一个没有.有人可以告诉我为什么吗?

jquery anonymous-function

0
推荐指数
1
解决办法
43
查看次数

用匿名函数包装的目的

我正在构建chrome扩展,并在我的内容脚本中包含以下代码.pep是一个让事物变得可拖动的图书馆.有趣的是,我的代码适用于案例#2而不是#1.为什么会这样?

看起来第二种情况是使用匿名函数包装函数调用(虽然我不确定为什么之前需要jquery)

//1
$('#square').pep();

//2
$(function($) {
    $('#square').pep();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery anonymous-function google-chrome-extension

0
推荐指数
1
解决办法
48
查看次数

使用匿名函数取几个参数

脚本示例.

function TakeCallback(param, param2, callback) {
     var a = param;
     var b = param2;
     callback(a, b);
}

.... some context ...
TakeCallback("A", "B", function(one, two) {
    var scopeA = one;
    var scopeB = two;
});
Run Code Online (Sandbox Code Playgroud)

在C#中

public void FuncWithCallback(int param, int param2, Func callback) 
{
    int myScope = param;
    int myScope2 = param2;

    callback(myScope, myScope2);
}

.... some context ....

.
.
    FuncWithCallBack(10, 100, (x, y) => {
        int AnotherScope = x;
        int AnotherScope2 = y;
    });
.
.
Run Code Online (Sandbox Code Playgroud)

题 …

c# lambda anonymous-function

0
推荐指数
1
解决办法
74
查看次数

如何在Kotlin中将参数传递给匿名lambda函数?

我想在Kotlin中编写一个匿名的lambda函数,但它看起来并没有将参数传递给它.(它根本没有传递,因为IDE暗示" 永远不会使用 " 变量'name'.)

码:

var name = "Tobias Boon"
println("reverse=" + fun(name: String): String {
    var t: String = ""
    for(i in name.indices.last downTo 1) {
        t += text.subSequence(i - 1, i)
    }
    return t
})
Run Code Online (Sandbox Code Playgroud)

目前打印: reverse=(kotlin.String) -> kotlin.String

lambda anonymous-function parameter-passing kotlin

0
推荐指数
1
解决办法
487
查看次数

有人可以打破这个匿名功能并解释一下吗?

n => +n && [...1e9+''].map(_ => n += 9);
Run Code Online (Sandbox Code Playgroud)

这将打印一个数字数组'n'是数字根.我想通过上面给出的这个函数知道这是怎么做的?

谢谢您的回答

javascript anonymous-function

0
推荐指数
1
解决办法
69
查看次数

在Laravel(PHP)中访问匿名函数中的超出范围的变量

我想在Laravel播种相关表格.我在访问匿名函数中的范围外变量时遇到了问题,我已经为whereHas我的查询定义了"where"条件的方法.

$id = $user->id; // out-of-scope variable
$posts = Post::whereHas('comments', function ($query) {
    $query->where('user_id', $id);
})->get();
Run Code Online (Sandbox Code Playgroud)

从技术上讲,我无法访问$id匿名函数.

php mysql anonymous-function laravel laravel-eloquent

0
推荐指数
1
解决办法
236
查看次数