标签: expression

在编程中,什么是表达式?

我用Google搜索了这个问题,并搜索了搜索结果,然而我似乎无法得到一个直接的答案.

这个问题是如此基本没有人想过要问它吗?

有人可以解释在编程中究竟是什么"表达".

另外我主要用Javascript编程,如果JS中的定义有所不同,你还可以突出显示区别吗?

expression

16
推荐指数
1
解决办法
1万
查看次数

如何在Python中的while(表达式)循环内进行变量赋值?

我有变量赋值,以便返回指定的值并直接在while循环中将其与空字符串进行比较.

以下是我在PHP中的表现:

while((name = raw_input("Name: ")) != ''):
    names.append(name)
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的与功能相同:

names = []
while(True):
    name = raw_input("Name: ")
    if (name == ''):
        break
    names.append(name)
Run Code Online (Sandbox Code Playgroud)

在Python中有没有办法做到这一点?

python syntax expression while-loop

15
推荐指数
3
解决办法
9021
查看次数

如何为Like创建System.Linq.Expressions.Expression?

从这个源创建了一个可过滤的BindingList .它很棒:

list.Filter("Customer == 'Name'");
Run Code Online (Sandbox Code Playgroud)

应该做什么.的内部工作就像一个解析器,其将所述表达==!=System.Linq.Expressions.Expression.在这种情况下,==成为System.Linq.Expressions.Expression.Equal.

不幸的是System.Linq.Expressions.Expression,不包含类似的运算符,我不知道如何解决这个问题.

初始代码如下所示:

private static Dictionary<String, Func<Expression, Expression, Expression>> 
    binaryOpFactory = new Dictionary<String, Func<Expression, Expression, Expression>>();

static Init() {
    binaryOpFactory.Add("==", Expression.Equal);
    binaryOpFactory.Add(">", Expression.GreaterThan);
    binaryOpFactory.Add("<", Expression.LessThan);
    binaryOpFactory.Add(">=", Expression.GreaterThanOrEqual);
    binaryOpFactory.Add("<=", Expression.LessThanOrEqual);
    binaryOpFactory.Add("!=", Expression.NotEqual);
    binaryOpFactory.Add("&&", Expression.And);
    binaryOpFactory.Add("||", Expression.Or);
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个能够做我想要的表达式:

private static System.Linq.Expressions.Expression<Func<String, String, bool>>
    Like_Lambda = (item, search) => item.ToLower().Contains(search.ToLower());

private static Func<String, String, bool> Like = Like_Lambda.Compile();
Run Code Online (Sandbox Code Playgroud)

例如

Console.WriteLine(like("McDonalds", "donAld")); // true …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda expression

15
推荐指数
2
解决办法
4万
查看次数

用于验证DNS标签的正则表达式(主机名)

我想仅使用regualr表达式来验证主机名.

主机名(或DNS术语中的"标签")传统上由RFC 952和RFC 1123定义,并且可以由以下有效字符组成.

项目清单

  • A到Z; 大写字符
  • a到z; 小写字符
  • 0到9; 数字字符0到9
  • - ; 短跑

规则说:

  • 主机名(标签)可以以字母或数字开头或结尾
  • 主机名(标签)不得以' - '开头或结尾(短划线)
  • 主机名(标签)不得包含所有数值
  • 主机名(标签)最多可以包含63个字符

你会如何编写正则表达式来验证主机名?

regex forms dns validation expression

15
推荐指数
4
解决办法
2万
查看次数

使用Lambda表达式调用通用方法(以及仅在运行时已知的类型)

您可以使用Lambda表达式对象将lambda表示为表达式.

如果在运行时只知道用于泛型方法签名的类型,如何创建表示泛型方法调用的Lambda表达式对象

例如:

我想创建一个Lambda表达式对象来调用: public static TSource Last<TSource>( this IEnumerable<TSource> source )

但我只知道TSource运行时的内容.

c# generics lambda expression expression-trees

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

'System.DateTime'类型的表达式不能用于返回类型'System.Object'

我创建了一个表达式,我正在使用它进行排序工作正常,直到我遇到一个DateTime字段,我得到以下错误(在第二行):

'System.DateTime'类型的表达式不能用于返回类型'System.Object'

这是我的代码:

ParameterExpression param = Expression.Parameter(typeof(MyEntity), "x");

Expression<Func<MyEntity, object>> sortExpression =
    Expression.Lambda<Func<AMyEntity, object>>(
        Expression.Property(param, sortKey), param);
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

c# linq expression expression-trees

15
推荐指数
2
解决办法
8590
查看次数

什么库可以解析和解决C++中的简单数学表达式

我在字符串中有一个任意表达式.让我们说:y = 12*x + 34我将有x或y,我需要为另一个解决.muParser在解决给定x的第一个形式方面做得非常出色,但它和我发现的所有其他数学解析器都无法执行任何操作来将表达式转换为:x =(y-34)/ 12所以另一个可能是解决了,如果我有y而不是x.

有没有可以用来解决这个问题的GNU阻止的C/C++库吗?

c++ math parsing expression

15
推荐指数
1
解决办法
803
查看次数

结合两个Linq lambda表达式

Expression<Func<MyObject, string>> fn1 = x => x.PossibleSubPath.MyStringProperty;

Expression<Func<string, bool>> fn2 = x => x.Contains("some literal");
Run Code Online (Sandbox Code Playgroud)

有没有办法创建一个新的lambda表达式,它基本上使用fn1的输出并将其用作fn2的输入?

Expression<Func<MyObject, bool>> fnCombined = ...
Run Code Online (Sandbox Code Playgroud)

我知道我可以立即创建函数,但问题是我正在制作一些通用代码,因此确实需要能够分别创建这两个函数,然后将它们组合在一起,以便Linq可以使用它们我的数据库对象(实体框架).

c# linq expression

15
推荐指数
1
解决办法
1万
查看次数

有条件地在聚合物中添加css类

我在聚合物组件中有一个元素,并希望有条件地添加一个css类.

<div class="bottom {{completed: item.completed}}">
Run Code Online (Sandbox Code Playgroud)

如果item.isCompleted为true,则添加.completed类.

但是,我有以下错误:

表达式语法无效:已完成?:item.completed

我不想将孔子树放在模板条件中.是否可以在html标签内使用表达式?我正在使用最后一个聚合物版本,这种功能是否以任何方式迁移或替换?

css expression polymer

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

15
推荐指数
1
解决办法
417
查看次数