标签: anonymous-function

LINQ查询错误中的匿名函数

这是我正在尝试实现的代码:

var query = from line in thedata
            orderby () =>  {
                int a = line.IndexOf("Score=\"");
                if (line[a + "Score=\"".Length + 1] == '-') {
                    return
                        int.Parse(line[a + "Score=\"".Length + 1].ToString()
                      + line[a + "Score=\"".Length + 2]);
                }

                return int.Parse(line[a + "Score=\"".Length + 1].ToString());
            }
            select line;
Run Code Online (Sandbox Code Playgroud)

thedata字符串列表在哪里.

编译器显示错误orderby(无法推断类型参数).如何重写此函数以解决此错误?作为一个侧面点,在这种情况下有更好的方法来获得负数吗?

c# linq anonymous-function

2
推荐指数
1
解决办法
870
查看次数

在erlang模块中使用匿名函数时出现问题

当问题引起我的注意时,我正在使用erlang中的匿名函数.该功能定义如下

-module(qt). 
-export([ra/0]). 
ra = fun() -> 4 end. 
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用

-export(Ra/0]). 
Ra = fun() -> 4 end. 
Run Code Online (Sandbox Code Playgroud)

这也没有人能告诉我为什么erlang表现出这种行为?

erlang anonymous-function

2
推荐指数
1
解决办法
307
查看次数

Julia:将多个参数传递给匿名函数

在" 匿名函数"部分的"Julia手册"中,提供的示例之一是(x,y,z)->2x+y-z.

有人可以告诉我如何将一组参数传递给这个函数吗?

x=(1,2,3); y=(2,3,4); z=(1,3,5).

arguments anonymous-function julia

2
推荐指数
1
解决办法
4086
查看次数

PHP:use()替代非匿名函数

你可以这样做:

$external = 1;
$change = function($number) use(&$external) {
    $external = $number;
};

$change(5);
echo $external; //> 5
Run Code Online (Sandbox Code Playgroud)

但你不能这样做:

$external = 1;
function change($number) use(&$external) {
    $external = $number;
}
Run Code Online (Sandbox Code Playgroud)

你会得到:

解析错误:语法错误,意外"使用"(T_USE),期待'{'.

什么是替代品?

php anonymous-function

2
推荐指数
1
解决办法
1003
查看次数

PHP匿名函数链接

$app = 'App here';


$fn1 = function($var) use($app){
    $fn2($var);
};

$fn2 = function($var) use($app){
    echo $var;
};

$fn1('variable');
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我试图链接/转发多个匿名函数.但是,在下面的行中我收到错误"通知:未定义的变量:fn2"

$fn2($var)
Run Code Online (Sandbox Code Playgroud)

如何实现匿名函数的链接.

php anonymous-function

2
推荐指数
1
解决办法
387
查看次数

Javascript函数范围[Javascript Essentials]

我正在看Travis Tidwell的Javascript Essentials,他解释了这段代码:

(function() {
    var messages = ['hello', 'there'];

    for (var i in messages) {
        setTimeout(function() {
            console.log(messages[i]);
        }, 10); 
    };
})();
Run Code Online (Sandbox Code Playgroud)

它在控制台中回响了'那里'两次,但我仍然不明白为什么.有人可以一步一步地浏览这段javascript吗?

javascript arrays for-loop function anonymous-function

2
推荐指数
1
解决办法
45
查看次数

为什么匿名函数定义语法不同?

我们可以定义和使用这样的匿名函数:

repl=> (#(+ 10 %) 1)
11
Run Code Online (Sandbox Code Playgroud)

->宏不会接受这样的匿名功能.假设我想添加10然后乘以2.我会尝试写:

(-> 5 #(+ 10 %) #(* 2 %))
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这不是正确的代码,正确的代码是

(-> 5 (+ 10) (* 2))
Run Code Online (Sandbox Code Playgroud)

(+ 10)和之间的区别是什么#(+ 10 %),为什么不->接受宏定义的匿名函数#()

clojure anonymous-function function-composition

2
推荐指数
1
解决办法
86
查看次数

如何用函数指针声明lambda(没有auto)?

我可以轻松地声明匿名函数(它们与lambda相同,但没有"context" - [...])auto:

#include <iostream>

using namespace ::std;

void foo(void (*f)(char))
{
    f('r');
}

int main()
{
    void (*anon)(char) = [](char c) -> void { cout << c << endl; };
    foo(anon);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是如何宣布lambda?这是唯一可能的方式吗?(也许使用typedef).我在这里使用::std::function,但我没有在foo参数中提到f的上下文...:

#include <iostream>
#include <functional>

using namespace ::std;

//int foo(auto f, char x) // !only since c++14
int foo(function<int(char)> f, char x)
{
    return f(x+1);
}

int main()
{
    int a = 5, b = 10;

    //void (*lambda)(char) …
Run Code Online (Sandbox Code Playgroud)

c++ lambda pointers anonymous-function auto

2
推荐指数
1
解决办法
499
查看次数

在withColumn函数下使用匿名函数在Scala中使用单撇号符号(')的含义?

我的问题是:

第5行:单撇号(')符号的操作是什么?无法清楚地了解withColumn函数如何在这里工作.另外请详细说明它是如何显示这些列顺序 - | id | text | upper |.

码:

 1. val dataset = Seq((0, "hello"),(1, "world")).toDF("id","text")
 2. val upper: String => String =_.toUpperCase
 3. import org.apache.spark.sql.functions.udf
 4. val upperUDF = udf(upper)
 5. dataset.withColumn("upper", upperUDF('text)).show
Run Code Online (Sandbox Code Playgroud)

输出:

+---------+---------+---------+
|id       |text     |upper    |
+---------+---------+---------+
| 0       | hello   |HELLO    |
| 1       | world   |WORLD    |
+---------+---------+---------+
Run Code Online (Sandbox Code Playgroud)

scala anonymous-function user-defined-functions apache-spark

2
推荐指数
1
解决办法
1060
查看次数

我可以在匿名函数中重用表达式的结果吗?

我有一个@(x) sqrt(x) + 1./sqrt(x) - 3想要传递给另一个函数的匿名函数,例如

fsolve(@(x) sqrt(x) + 1./sqrt(x) - 3, 3)
Run Code Online (Sandbox Code Playgroud)

想象一下,的参数sqrt稍微复杂一点,因此sqrt(...)调用的计算量很大-是否有可能创建一个先计算(在此简单示例中)sqrt(x)然后将结果res用于计算的匿名函数res + 1/res - 3

还是只能使用正常功能对其进行编程?

matlab anonymous-function

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