问题列表 - 第26114页

有趣的Scala打字解决方案,在2.7.7中不起作用?

我正在尝试构建一些图像代数代码,它可以处理具有不同类型像素的图像(基本上是线性像素缓冲区+尺寸).为了实现这一点,我已经定义了一个参数化的Pixel特性,其中有一些方法应该能够与任何Pixel子类一起使用.(目前,我只对使用相同Pixel类型的操作感兴趣.)这是:

trait Pixel[T <: Pixel[T]] {
    def div(v: Double): T
    def div(v: T): T
}
Run Code Online (Sandbox Code Playgroud)

现在我定义一个Pixel类型,它具有基于三个双打(基本上是RGB 0.0-1.0)的存储,我称之为TripleDoublePixel:

class TripleDoublePixel(v: Array[Double]) extends Pixel[TripleDoublePixel] {

    var data: Array[Double] = v

    def this() = this(Array(0.0, 0.0, 0.0))

    def div(v: Double): TripleDoublePixel = {
        new TripleDoublePixel(data.map(x => x / v))
    }

    def div(v: TripleDoublePixel): TripleDoublePixel = {
        var tmp = new Array[Double](3)
        tmp(0) = data(0) / v.data(0)
        tmp(1) = data(1) / v.data(1)
        tmp(2) = data(2) / v.data(2)
        new TripleDoublePixel(tmp)
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我们使用像素定义一个图像:

class Image[T](nsize: …
Run Code Online (Sandbox Code Playgroud)

scala

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

Clojure中的迭代器块?

clojure.contrib.sql用来从SQLite数据库中获取一些记录.

(defn read-all-foo []
  (with-connection *db*
    (with-query-results res ["select * from foo"]
       (into [] res))))
Run Code Online (Sandbox Code Playgroud)

现在,我真的不想在从函数返回之前实现整个序列(即我想让它保持懒惰),但是如果我res直接返回或者将它包装成某种惰性包装器(例如我想要确定map结果序列转换),SQL相关的绑定将被重置,连接将在我返回后关闭,因此实现序列将引发异常.

如何将整个函数包含在闭包中并返回一种迭代器块(如yield在C#或Python中)?

或者是否有另一种方法可以从此函数返回延迟序列?

clojure lazy-evaluation lazy-sequences

6
推荐指数
2
解决办法
1001
查看次数

JavaScript计算机代数系统

我正在为JavaScript 寻找一个简单的计算机代数系统(cas),但我找不到谷歌的任何东西.我只需要基本功能:

  • 将表达简化为某种形式.能够检查两个表达式是否相同,即a(x + y)== ax + ay
  • 解析数学公式.我希望它能够读取像ax²+ 4x这样的表达式.
  • 求解简单方程等

你知道这样的图书馆吗?

javascript

17
推荐指数
3
解决办法
6040
查看次数

使用函数参数作为局部变量

这样的事情(是的,这不涉及一些边缘情况 - 这不是重点):

int CountDigits(int num) {
    int count = 1;
    while (num >= 10) {
        count++;
        num /= 10;
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

你对此有何看法?也就是说,使用函数参数作为局部变量.
两者都放在堆栈上,性能几乎相同,我想知道这方面的最佳实践方面.
当我为这个函数添加一个额外的冗余线路时,我觉得自己像个白痴int numCopy = num,但它确实让我感到烦恼.
你怎么看?这应该避免吗?

local-variables function-parameter

17
推荐指数
3
解决办法
4043
查看次数

iPhone SDK:#import和@class有什么区别?

我们可以用#import导入类声明:

#import "SomeClass.h"
Run Code Online (Sandbox Code Playgroud)

或者用@class声明:

@class SomeClass;
Run Code Online (Sandbox Code Playgroud)

有什么区别,什么时候应该使用它们?

iphone

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

Java char文字到C#char literal

我正在维护一些我目前正在转换为C#的Java代码.

Java代码是这样做的:

sendString(somedata + '\000');

在C#中,我试图做同样的事情:

sendString(somedata + '\000');

但是在'\''上,VS2010告诉我"字符文字中的字符过多".如何在C#中使用'\n''?我试图找出角色是什么,但它似乎是""或某种换行符.

你对这个问题一无所知吗?

谢谢!

c# java character

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

Java:获得FontMetrics实例的更方便的方法

是否有更友好的方式来获取FontMetrics的实例

FontMetrics fm = Graphics.getFontMetrics(Font);
Run Code Online (Sandbox Code Playgroud)

我讨厌这种方式,因为下面的例子:

如果您想在游戏中创建一个菜单,并且您希望屏幕中心的所有菜单项都需要fontmetrics.但是,大多数情况下,菜单项是可点击的.所以我创建了一个数组,Rectangles并且所有矩形都适合于项目,因此当按下鼠标时,我可以简单地使用

for (int i = 0; i < rects.length; i++)
if (rects[i].contains(mouseX, mouseY)) { ... }
Run Code Online (Sandbox Code Playgroud)

但是为了创建rects,我还需要FontMetrics作为它们的坐标.所以这意味着我必须在菜单的paint-method中构造所有的矩形.

所以我想要一种获取FontMetrics的方法,这样我就可以在构造函数调用的方法中构造Rectangles.

java java-2d fontmetrics

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

在Windows窗体中有效地绘制网格

我正在用C#编写Conway的生命游戏的实现.这是我用来绘制网格的代码,它在我的panel_Paint事件中.g是图形上下文.

for (int y = 0; y < numOfCells * cellSize; y += cellSize)
{
     for (int x = 0; x < numOfCells * cellSize; x += cellSize)
     {
          g.DrawLine(p, x, 0, x, y + numOfCells * cellSize);
          g.DrawLine(p, 0, x, y + size * drawnGrid, x);
     }
}
Run Code Online (Sandbox Code Playgroud)

当我运行我的程序时,它没有响应,直到它完成绘制网格,这需要几秒钟在numOfCells = 100&cellSize = 10.删除所有乘法使它更快,但不是很多.

绘制网格有更好/更有效的方法吗?

谢谢

c# graphics optimization drawing

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

symfony 2.0是否足够稳定可用?

我想知道Symfony 2.0是否足够稳定可用

因为我之前从未使用过Symfony.

似乎Symfony 2比以前的版本要好得多,我不想在几个月后重新学习/重新编写所有内容.

你认为它什么时候发布?

现在使用2.0是明智的选择吗?

php frameworks symfony

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

maven程序集插件没有使用finalName来安装attach = true?

我配置了以下程序集:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <executions>
                <execution>
                    <id>${project.name}-test-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <appendAssemblyId>false</appendAssemblyId>
                        <finalName>${project.name}-test</finalName>
                        <filters>
                            <filter>src/assemble/test/distribution.properties</filter>
                        </filters>
                        <descriptors>
                            <descriptor>src/assemble/distribution.xml</descriptor>
                        </descriptors>
                        <attach>true</attach>
                    </configuration>
                </execution>
                <execution>
                    <id>${project.name}-prod-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <appendAssemblyId>false</appendAssemblyId>
                        <finalName>${project.name}-prod</finalName>
                        <filters>
                            <filter>src/assemble/prod/distribution.properties</filter>
                        </filters>
                        <descriptors>
                            <descriptor>src/assemble/distribution.xml</descriptor>
                        </descriptors>
                        <attach>true</attach>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

这产生了两个zip文件:

  • distribution-prod.zip
  • distribution-test.zip

我对属性attach = true的期望是,安装了两个zip文件,其名称在属性finalName中给出.但结果是,只有一个文件安装(附加)到工件.maven协议是:

  • distrib-0.1-SNAPSHOT.zip
  • distrib-0.1-SNAPSHOT.zip

该插件使用artifact-id而不是属性finalName!这是一个错误吗?

最后一次安装会覆盖第一次安装.如何安装具有不同名称的这两个文件?

谢谢你的调查.罗兰

maven-2 maven-assembly-plugin

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