标签: expression

使用带有变量r的表达式

我试图用以下标签标记一个情节:

"一些分析EC50(uM)",其中"u"是微观符号.

我目前有:

assay <- "Some Assay"
plot(0,xlab=expression(paste(assay," AC50 (",mu,"M)",sep="")))
Run Code Online (Sandbox Code Playgroud)

但这给出了:"测定EC50(uM)"而不是所需的"某些测定EC50(uM)".

建议?谢谢.

我也尝试过:

paste(assay,expression(paste(" AC50 (",mu,"M)",sep="")),sep="")
Run Code Online (Sandbox Code Playgroud)

expression r

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

Bash脚本中的正则表达式

您好,社区,

当谈到正则表达式时,我是一个完整的涂料.我推迟了学习......现在我的懒惰已经赶上了我.

我要做的是:
检查字符串是否与此格式匹配:

10_06_13
Run Code Online (Sandbox Code Playgroud)

即.今天的日期,或与"2digits_2digits_2digits"类似的日期

我做了什么:

regex='([0-9][0-9][_][0-9][0-9][_][0-9][0-9])'
if [[ "$incoming_string" =~ $regex ]]
then
   # Do awesome stuff here
fi
Run Code Online (Sandbox Code Playgroud)

这在一定程度上起作用.但是当传入的字符串等于011_100_131...时,它仍然通过正则表达式检查.

如果有人能帮我指出正确的方向,我将不胜感激.
干杯

regex linux bash expression

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

执行LambdaExpression并获取返回值作为对象

有干净的方法吗?

Expression<Func<int, string>> exTyped = i => "My int = " + i;
LambdaExpression lambda = exTyped;

//later on:

object input = 4;
object result = ExecuteLambdaSomeHow(lambda, input);
//result should be "My int = 4"
Run Code Online (Sandbox Code Playgroud)

这适用于不同类型.

c# lambda expression

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

C# 是否保证分支嵌套表达式的求值顺序?

显然,C# 可以处理嵌套表达式和链式表达式。如果嵌套和/或链接是线性的,那么很明显表达式的计算顺序是:

Foo(Bar(Baz().Bop()))只能以下顺序评估:

  • Baz()
  • Bop()
  • Bar()
  • Foo()

但如果嵌套不是线性的怎么办?考虑:Foo(Baz()).Bar(Bop())

显然以下内容必须全部为真:

  • BazFoo
  • FooBar
  • BopBar

但目前尚不清楚具体何时Bop进行评估。以下任何一项都是可行的订单:

  • 可能性#1
    • Bop()
    • Baz()
    • Foo()
    • Bar()
  • 可能性#2
    • Baz()
    • Bop()
    • Foo()
    • Bar()
  • 可能性#3
    • Baz()
    • Foo()
    • Bop()
    • Bar()

我的直觉是第三个选项可能是正确的。即它会Foo(Baz())在开始评估任何一个之前进行全面评估.Bar(Bop())

虽然我当然可以测试个别情况来看看会发生什么,但这并不能告诉我我的猜测是否总是会发生的?

但我的问题是: 分支嵌套表达式的求值顺序是定义为 C# 语言规范的一部分,还是留给编译器根据情况判断?

如果不是,至少知道它是确定性的吗?

c# evaluation expression specifications

29
推荐指数
1
解决办法
961
查看次数

使用反射创建表达式<Func <,>>

我使用Moq来创建数据集的模拟.

我创建了一个小助手类,它允许我有一个内存存储而不是数据库,使单元测试变得轻而易举.这样我可以添加和删除我的模拟数据集中的项目,这允许我测试我的插入和删除服务调用.

在模拟的设置过程中,我有一行如下所示

this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());
Run Code Online (Sandbox Code Playgroud)

我的模拟有很多属性,所以我想使用反射执行此设置步骤.我已经设法Returns通过反射工作的过程的一部分,但我坚持lambda方法Setup.

Setup 需要一个

Expression<Func<GoalsModelUnitOfWork, IQueryable<AcademicCycle>>> 对应于 i => i.AcademicCycles

我想动态创建它.使用反射我有以下内容:

物业名称:"AcademicCycles"

类型 IQueryable<AcademicCycle>

类型 AcademicCycle

我也有ilambda语句中的实例,它是一个GoalsModelUnitOfWork

c# reflection lambda expression moq

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

C#Linq OrderBy过滤null或空值为last

我尝试使用自定义orderby扩展方法,我成功地处理了我的代码,但另外我想在结果中列出null或空值或零值,任何人都可以帮我解决这个问题?

这是我对orderby的扩展方法

    public static IQueryable<T> OrderBy<T>(this IQueryable<T> q, string SortField, bool isAsc)
    {
        //var nullExpr = Expression.Constant(null, typeof(T));
        var param = Expression.Parameter(typeof(T), "p");
        var prop = Expression.Property(param, SortField);
        var exp = Expression.Lambda(prop, param);
        string method = isAsc ? "OrderBy" : "OrderByDescending";
        Type[] types = new Type[] { q.ElementType, exp.Body.Type };
        var mce = Expression.Call(typeof(Queryable), method, types, q.Expression, exp);
        return q.Provider.CreateQuery<T>(mce);
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# linq expression

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

使用表达式获取方法的名称

我知道网站上有一些答案,如果这有任何重复,我道歉,但我找到的所有答案都没有做我想做的事情.

我正在尝试指定方法信息,因此我可以通过不使用字符串以类型安全的方式获取名称.所以我试图用表达式提取它.

假设我想在此界面中获取方法的名称:

public interface IMyInteface
{
    void DoSomething(string param1, string param2);
}
Run Code Online (Sandbox Code Playgroud)

目前我可以使用THIS方法获取名称:

 MemberInfo GetMethodInfo<T>(Expression<Action<T>> expression)
 {
        return ((MethodCallExpression)expression.Body).Method;
 }
Run Code Online (Sandbox Code Playgroud)

我可以调用helper方法如下:

var methodInfo = GetMethodInfo<IMyInteface>(x => x.DoSomething(null, null));
Console.WriteLine(methodInfo.Name);
Run Code Online (Sandbox Code Playgroud)

但我正在寻找我可以获取方法名称而不指定参数的版本(null,null)

像这样:

var methodInfo = GetMethodInfo<IMyInteface>(x => x.DoSomething);
Run Code Online (Sandbox Code Playgroud)

但所有尝试都无法编译

有没有办法做到这一点?

c# lambda expression

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

JPA Criteria API IN表达式参数列表

是否有可能在Criteria API .in表达式中使用参数列表?

我有这样的事情:

    List<Long> list = new ArrayList<Long>();
    list.add((long)1);
    list.add((long)2);
    list.add((long)3);


CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Bewerbung> criteriaQuery = cb.createQuery(Bewerbung.class);
Root<Bewerbung> bewerbung = criteriaQuery.from(Bewerbung.class);

criteriaQuery.select(bewerbung).where(
cb.in(bewerbung.get(Bewerbung_.bewerberNummer)).value(list);

return em.createQuery(criteriaQuery).getResultList();
Run Code Online (Sandbox Code Playgroud)

表达式.value(list)不起作用,因为value()期望类型为long而不是列表的参数.在我的情况下,不可能使用子查询.任何人都可以帮我解决这个问题吗?

java expression jpa criteria-api

26
推荐指数
2
解决办法
5万
查看次数

Func <>委托有什么好处?

对不起,如果这是基本的,但我试图接受.Net 3.5.

问题:Func <>有什么好处,它有5个重载吗?从它的外观来看,我仍然可以自己创建一个类似的delgate,MyFunc <>具有5个重载甚至更多.

例如:public delegate TResult MyFunc<TResult>()和各种超载的组合......

当我试图理解Func <>委托并且遇到以下情况时,想到了这个想法:

Func<int,int> myDelegate = (y) => IsComposite(10);
Run Code Online (Sandbox Code Playgroud)

这意味着一个委托有一个int类型的参数和一个int类型的返回类型.有五种变体(如果你通过intellisense查看重载).所以我猜我们可以有一个没有返回类型的委托?

所以我有理由说Func <>不是很好,只是我们可以使用的.Net框架中的一个例子,如果需要,创建自定义"func <>"代表以满足我们自己的需求?

谢谢,

lambda delegates expression func

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

SQL Server中的正则表达式

我在我的数据库中存储了看起来像的值5XXXXXX,其中X可以是任何数字.换句话说,我需要匹配传入的SQL查询字符串,如5349878.

有谁知道怎么做?

我有不同的情况XXXX7XX,例如,所以它必须是通用的.我不关心在SQL Server中以不同的方式表示模式.

我在.NET中使用c#.

regex sql sql-server expression

25
推荐指数
3
解决办法
13万
查看次数

标签 统计

expression ×10

c# ×5

lambda ×4

regex ×2

bash ×1

criteria-api ×1

delegates ×1

evaluation ×1

func ×1

java ×1

jpa ×1

linq ×1

linux ×1

moq ×1

r ×1

reflection ×1

specifications ×1

sql ×1

sql-server ×1