小编Mat*_*hen的帖子

可重用的条件/表达式类

我曾经多次需要一些类来表示和操作条件(通常在UI中,因此用户通过组合不同的条件类型来构建查询,然后代码可以根据要查询的底层系统对其进行转换,例如lucene和a D b).我搜遍了一组可重复使用的类,我确信这必须在许多现有的地方使用(所有表达语言都是初学者),但找不到任何容易使用的东西.我自己最终编写了两次编码,但是对于不重复使用我确定存在的东西感到很难过.

典型的需求是: - 几个运算符:和/或 - 可变数量的操作数 - 组合条件来构建表达式 - 表达式的序列化 - 从/到字符串的表达式的解析/格式化

有人发现了类似的东西吗?

java expression functor

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

用 Java 渲染 HTML

我正在尝试为我正在开发的应用程序创建一个帮助面板。帮助文件已经使用 html 技术创建,我希望它在窗格中呈现并显示。我见过的所有代码都显示了如何呈现网站,例如“ http://google.com ”。我想从我的电脑渲染一个文件,例如“file://c:\tutorial.html”

这是我的代码,但它似乎不起作用。

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import java.awt.Color;
import java.awt.Container;
import java.io.IOException;

import static java.lang.System.err;
import static java.lang.System.out;

    final class TestHTMLRendering
        {
        // ------------------------------ CONSTANTS ------------------------------

        /**
         * height of frame in pixels
         */
        private static final int height = 1000;

        /**
         * width of frame in pixels
         */
        private static final int width = 1000;

        private static final String RELEASE_DATE = "2007-10-04";

        /**
         * title for frame
         */
        private …
Run Code Online (Sandbox Code Playgroud)

html java

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

客观的C 2.0是C的正确超集吗?

我听说过Objective-C是C的正确超集,但是客观的C 2.0?

我问的原因是它不是,或者我误解了"正确的超集"这个短语,因为这段代码是有效的C语法:

#import <stdio.h>

int main () {
    char *nil = "hello";
    printf("%s\n",nil);
}
Run Code Online (Sandbox Code Playgroud)

但是不能在Objective-C 2.0中编译.显然,这是一个容易解决的问题,但我正在写一篇论文,并认为这是应该指出的.

c compatibility objective-c superset

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

C99在开源项目中混合了声明和代码?

为什么C99混合声明和代码没有在Linux内核GNOME等开源C项目中使用

我非常喜欢混合声明和代码,因为它使代码更具可读性,并且通过将变量的范围限制在最窄的范围内来防止难以看到错误.这是Google for C++推荐的.

例如,Linux 至少需要 GCC 3.2,而GCC 3.1 支持 C99混合声明和代码

c scope c99 variable-declaration

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

JavaScript表达式[1 [{}]]究竟是如何解析的?

你能解释一下JavaScript表达式:

[1 [{}]]
Run Code Online (Sandbox Code Playgroud)

分析/求值?在Firefox,Chrome,Konqueror和rhino中,它似乎创建了一个包含单个元素的数组undefined.但是,我不明白为什么.

在Firefox中:

[1 [{}]].toSource()
Run Code Online (Sandbox Code Playgroud)

产生

[(void 0)]
Run Code Online (Sandbox Code Playgroud)

用其他JavaScript值替换1似乎产生相同的结果.

更新:我想我现在明白了.codeka,Adrian和CMS澄清了一些事情.至于标准,我试图通过ECMAScript 5.

  1. 1 [{}] 是一个属性访问器,因此它在第11.2.1节中介绍.
  2. baseReference是评估的结果1,所以仍然1.
  3. baseValue = GetValue(baseReference) == 1.
  4. GetValue(§8.7.1),Type(1)不是Reference(已解析的名称绑定),因此返回1.
  5. propertyNameReference是评估的结果{},所以是一个空对象.
  6. propertyNameValue = GetValue(propertyNameReference) == {}
  7. CheckObjectCoercible(baseValue)(§9.10),我们返回(Number是对象可强制的).
  8. propertyNameString = ToString(propertyNameValue)
  9. ToString(§9.8),返回ToString(ToPrimitive({}, hint String))
  10. ToPrimitive(§9.1),返回对象的结果[[DefaultValue]],传递PreferredType(字符串).
  11. [[DefaultValue]](§8.12.8)中,让toString成为[[Get]]带参数的结果toString.
  12. 这在§15.2.4.2中定义为返回"[object " + [[Class]] + "]",其中 …

javascript parsing literals

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

SQLite中的SHA1哈希:如何?

并行使用多个DB,需要使用散列密码初始化一些记录.在MS SQL server那里有方便的功能,允许动态哈希:


HashBytes('SHA1', CONVERT(nvarchar(32), N'admin'))
Run Code Online (Sandbox Code Playgroud)

是否有类似的功能SQLite

如果没有,这是最简单的解决方法(例如从中选择SQL server并以某种方式将其插入SQLite表中)?

首选的散列算法是SHA1,密码存储在一BLOB列中.

更新:我在当前项目中使用C#语言.

c# sqlite hash cryptography sha1

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

在C/C++中产生线程的跨平台方式?

在C和C++中是否有一种产生线程的跨平台方式?像sched_yield()或Sleep(0)之类的东西?SDL_Delay(0)总是会产生或者在某些实现中会立即返回吗?

c c++ multithreading sdl cross-platform

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

DOM元素的JavaScript相等运算符是否跨浏览器?

=====在DOM元素的所有浏览器中正常工作?如果代码得到两种不同的方式对原始DOM元素的引用,他们将是既=====等于在所有浏览器?

javascript dom equality cross-browser

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

相当于Internet Explorer中的"parentNode"

我写了一些代码来修改网页上的图像.适用于Firefox和Safari.但是试图让它与Internet Explorer一起工作让我很难过.什么是资源管理器中的"parentNode"?或者如何让它成功运作?

images = document.getElementsByTagName('img')
parms = {};

for (a=0;a < images.length;a++){
    parent = images[a].parentNode; // <-- What to substitute for explorer?
    parms[a] = {};
    parms[a].bigsrc=parent.getAttribute("href");
    parms[a].w_o = images[a].width;
    parms[a].h_o = images[a].height;
    parms[a].IsBig = false;
    parms[a].loaded = false;
    images[a].border=0;
    parent.setAttribute("href","javascript:MakeBig('"+a+"')");
}
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer dom

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

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