小编Gam*_*ega的帖子

编译表达式树的性能

我有一个简单的场景,我试图在一个库存对象列表上测试表达式编译树的性能.下面是代码

表达式编译树的性能比静态lambda调用慢5倍.我不确定这是否是表达式编译树可以预期的标准性能.非常感谢任何见解.

LambdaExpression();
List<Stock> stocks = new List<Stock>();
for (int ctr = 0; ctr <= 5000000; ctr++)
{
    Stock stk1 = new Stock() { Price = ctr, Symbol = "A", CloseDate = DateTime.Now, FaceValue = ctr } ;
    stocks.Add(stk1);
}
CompileTimeLamda(a);
DynamicLambda(a);


public static void LambdaExpression()
{
    ParameterExpression CS1 = Expression.Parameter(typeof(Stock), "d");

    var line1 = Expression.Equal(Expression.Property(CS1, typeof(Stock).GetProperty("Symbol")), Expression.Constant("MSFT", typeof(string)));
    var line2 = Expression.GreaterThan(Expression.Property(Expression.Property(CS1, typeof(Stock).GetProperty("CloseDate")),typeof(DateTime).GetProperty("Millisecond")), 
                                 Expression.Constant(0, typeof(int)));
    var line3 = Expression.GreaterThan(Expression.Property(CS1, typeof(Stock).GetProperty("Price")), Expression.Constant((double)0, typeof(double)));
    var line4 = Expression.And(line1,line2);
    var line5 = …
Run Code Online (Sandbox Code Playgroud)

c# lambda expression

7
推荐指数
2
解决办法
4502
查看次数

Quartz .NET MakeDailyTrigger

我正在使用Quartz框架,与时间生成有点混淆.这是一个简单的代码,每天上午11:30生成触发器.为了测试这一点,我使用ComputeFireTimes查询生成接下来的100个连续发射时间,但是我得到的时间很奇怪.可能是我在这里缺少一些东西.

        Trigger trig = TriggerUtils.MakeDailyTrigger(11, 30);
        var triggerList = TriggerUtils.ComputeFireTimes(trig, null, 100);
        foreach (DateTime trigger in triggerList)
        {
            Console.WriteLine(trigger.ToString());
        }
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

8/12/2011 3:30:00 PM 8/13/2011 3:30:00 PM 8/14/2011 3:30:00 PM 8/15/2011 3:30:00 PM 8/16/2011 3 :30:00 PM 8/17/2011 3:30:00 PM 8/18/2011 3:30:00 PM 8/19/2011 3:30:00 PM

时间应该是上午11:30,但是显示在下午3:30.

quartz.net

5
推荐指数
1
解决办法
1607
查看次数

Java 中的编译器即服务

Microsoft Roslyn - 编译器即服务是 .NET 堆栈的一个很好的补充;我在 Java 世界中寻找类似的东西。我相信 Scala 在编译器插件的形式上有类似的东西,但不确定它有多灵活。

我试图在 Java 世界中解决的问题是允许用户编写一些自定义语法,并在内部将其重新连接为不同的语法。

java compiler-construction scala

5
推荐指数
1
解决办法
1800
查看次数

Scala中的匿名类型

试图将我的几个C#项目转换为Scala,并且仍在试图弄清楚如何进行某些转换.我遇到了这段代码,如果有人可以帮我写下Scala中的代码,我会很感激,我对Select语句中的匿名代码块特别感兴趣.

static void Main(string[] args)
{
  Stock stk = new Stock();
  Select(stk, a => new { a.Prices, a.Symbol });
}
public static U Select<T, U>(T data,Func<T,U> item)
{
  return item(data);
}
Run Code Online (Sandbox Code Playgroud)

scala

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

Scala Option返回类型

我是Scala编程世界的新手,但喜欢它.最近我开始将我的研究应用程序移植到Scala中,而我仍在努力的一件事就是返回关键字.例如,在下面的代码中

def readDocument(dbobj:MongoDBObject) = Option[ContainerMetaData] 
{
  for(a <- dbobj.getAs[String]("classname");
      b <- dbobj.getAs[Long]("id"); 
      c <- dbobj.getAs[Long]("version");
      d <- dbobj.getAs[String]("description");
      e <- dbobj.getAs[String]("name");
      f <- dbobj.getAs[String]("tag");
      g <- dbobj.getAs[Int]("containertype");
      h <- dbobj.getAs[Date]("createddate")
  )
  {
      val ctype = ContainerType(g)
      val jodadt = new DateTime(h) 
      val data = new ContainerMetaData(a,b,c,d,e,f,ctype,jodadt)
      Some(data)
  }
  None
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中我收到错误消息:

type mismatch;  found   : None.type  required: om.domain.ContainerMetaData  
Run Code Online (Sandbox Code Playgroud)

因此,如果我删除显式返回类型代码工作,但没有显式返回关键字我无法终止我的代码Some(data).

def readDocument(dbobj:MongoDBObject)= 
{
  for(a <- dbobj.getAs[String]("classname");
      b <- dbobj.getAs[Long]("id"); 
      c <- dbobj.getAs[Long]("version");
      d <- dbobj.getAs[String]("description");
      e <- dbobj.getAs[String]("name");
      f …
Run Code Online (Sandbox Code Playgroud)

scala

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

Eclipse,Scala和Maven - 类文件没有生成

我在eclipse中转换了我的scala项目以使用Maven(只需右键单击项目和配置Maven构建),这创建了pom.xml,添加了右依赖项,从maven存储库中提取了所需的jar,但每当我尝试编译时我都不会查看在target\classes文件夹中生成的类文件.但是,我在target\classes文件夹下的相应目录中看到了scala文件的实际源代码.我不确定为什么它会复制target\classes文件夹中的源文件.

另一个奇怪的事情是,如果我在eclipse中打开单个scala文件并进行一些代码更改,那么它会自动构建该类文件,但是我有1000多个scala文件,因此不是一个可行的选项.

我尝试了所有选项,例如Eclipse - Clean&Build,但没有任何作用,我甚至尝试在eclipse中使用maven构建,但它总是会出现这样的消息"没什么可编译的 - 所有类都是最新的",我清理了我的目标目录,但仍然是一个问题.

在这方面,我将不胜感激.

提前致谢

我正在使用Scala Eclipse IDE -Scala IDE构建的Eclipse SDK Build id:3.0.4-2.11-20140520-1158-Typesafe

Content of Pom.xml
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>notmaven</groupId>
  <artifactId>notmaven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <sourceDirectory>C:\projectsomu\notmaven\src</sourceDirectory>
    <scriptSourceDirectory>C:\projectsomu\notmaven\src\main\scripts</scriptSourceDirectory>
    <testSourceDirectory>C:\projectsomu\notmaven\src\test\java</testSourceDirectory>
    <outputDirectory>C:\projectsomu\notmaven\target\classes</outputDirectory>
    <testOutputDirectory>C:\projectsomu\notmaven\target\test-classes</testOutputDirectory>
    <resources>
      <resource>
        <directory>C:\projectsomu\notmaven\src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>C:\projectsomu\notmaven\src\test\resources</directory>
      </testResource>
    </testResources>
    <directory>C:\projectsomu\notmaven\target</directory>
    <finalName>notmaven-0.0.1-SNAPSHOT</finalName>
    <pluginManagement>
      <plugins>
        <plugin> …
Run Code Online (Sandbox Code Playgroud)

eclipse scala maven scala-ide

3
推荐指数
1
解决办法
3718
查看次数

ElasticSearch在所有文档的嵌套字段上排序

我试图弄清楚是否可以基于所有文档的嵌套字段进行排序,例如.在JSON下面,字段是一个嵌套对象,我要找的是从所有文档中检索所有fields.name,然后按名称字段排序.我知道如果它是单个文档的一部分,我可以使用内部命中查询来做到这一点.

另一种选择是检索所有文档,然后在前端/中间层进行排序,这不是一个好的选择.

[ {
          "id": "42ddf6e1-23f5-4aed-9d3a-1ba3ac3677b1",
          "fields": [
            {
              "name": "asofheading"
            },
            {
              "name": "SEC_TYPE"
            }
          ],
},
{
          "id": "7579928e-2196-4f7d-aaf8-4bfe9e67b330",
          "fields": [
            {
              "name": "asofheading"
            },
            {
              "name": "SEC_TYPE"
            },
            {
              "name": "CUSIP"
            }
          ]
 },
        {
          "id": "3a0940c1-7495-400c-a204-cd9bc6966fae",
          "fields": [
            {
              "name": "AsofHeading"
            },
            {
              "name": "SECT_PROFILE"
            },
            {
              "name": "SECT_PROFILESP"
            }
        },

]
Run Code Online (Sandbox Code Playgroud)

我想从所有文档中仅提取字段名称,然后按字段名称排序

elasticsearch

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