小编Chr*_*ler的帖子

编译器是否可以自动检测纯函数而无需关于纯度的类型信息?

所以我和我的朋友争论说,像GCC这样的编译器可以在没有任何类型信息的情况下自动检测纯函数.我不信.

像D或Haskell这样的语言在其类型系统中具有纯度,程序员明确定义了哪些函数是纯粹的还是纯粹的.纯函数没有副作用,因此可以非常容易地并行化.

所以问题是:这一切都是必要的吗?编译器可以检测纯度,而不需要任何元或类型信息,只需假设任何执行IO或自动访问全局变量的东西都不纯粹吗?

c compiler-construction gcc haskell d

38
推荐指数
2
解决办法
2662
查看次数

如何使用CSS中的动态列和行计数均匀分布浮动元素?

我有多个具有固定宽度和高度的div(想想某种带有文章图片的目录视图).现在我想向他们展示类似于float:left的行为.这样可以确保浏览器窗口越大,一行中显示的div就越多.

浮动的缺点:左边的解决方案是,右侧有一个很大的白色间隙,直到另一个div适合.现在我的工作是在页面上均匀地分配div,而不是右侧的大白色间隙,单个div之间应该有均匀分布的间隙.

JavaScript中的解决方案很简单:http://dl.dropbox.com/u/2719942/css/columns.html

您可以看到,如果您调整浏览器窗口的大小,它的行为类似于float:left,但空间均匀分布在框之间.使用JavaScript动态计算列数和行数:

  function updateLayout() {
    var boxes = document.getElementsByClassName('box');
    var boxWidth = boxes[0].clientWidth;
    var boxHeight = boxes[0].clientHeight;
    var parentWidth = boxes[0].parentElement.clientWidth;

    // Calculate how many boxes can fit into one row
    var columns = Math.floor(parentWidth / boxWidth);

    // Calculate the space to distribute the boxes evenly
    var space = (parentWidth - (boxWidth * columns)) / columns;

    // Now let's reorder the boxes to their new positions
    var col = 0;
    var row = 0;
    for …
Run Code Online (Sandbox Code Playgroud)

html javascript css css3

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

使用jOOQ创建包含主键的表

jOOQ具有文档中所述的 CREATE TABLE语法:

create.createTable(AUTHOR)
      .column(AUTHOR.ID, SQLDataType.INTEGER)
      .column(AUTHOR.FIRST_NAME, SQLDataType.VARCHAR.length(50))
      .column(AUTHOR_LAST_NAME, SQLDataType.VARCHAR.length(50))
      .execute();
Run Code Online (Sandbox Code Playgroud)

我想知道如何定义哪个列属于主键?那么在jOOQ中有没有办法用PRIMARY KEY信息创建一个CREATE TABLE语句?

我对SQLite的解决方案特别感兴趣,后来没有语法来添加主键,所以我认为在最坏的情况下我必须转到特定于DB的解决方案?

java sqlite jooq

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

标签 统计

c ×1

compiler-construction ×1

css ×1

css3 ×1

d ×1

gcc ×1

haskell ×1

html ×1

java ×1

javascript ×1

jooq ×1

sqlite ×1