小编Ror*_*ane的帖子

在Haskell中编写时间函数

我是Haskell的新手,我希望能够计算给定函数调用或代码片段的运行时间.

在Clojure中我可以使用' 时间 ':

user=> (time (apply * (range 2 10000)))
"Elapsed time: 289.795 msecs"
2846259680917054518906413212119868890148051...
Run Code Online (Sandbox Code Playgroud)

在Scala中,我可以自己定义函数:

scala> def time[T](code : => T) =  {
     |   val t0 = System.nanoTime : Double
     |   val res = code
     |   val t1 = System.nanoTime : Double
     |   println("Elapsed time " + (t1 - t0) / 1000000.0 + " msecs")
     |   res
     | }
time: [T](=> T)T

scala> time((1 to 10000).foldLeft(1:BigInt)(_*_))
Elapsed time 274.292224 msecs
res0: BigInt = 284625968091705451...
Run Code Online (Sandbox Code Playgroud)

如何在Haskell中编写我的Scala函数或Clojure的'time'的等价物?我在Hackage上找到的System.TimeIt模块不够通用,因为它仅在测量IO计算时才有效.所以timeIt(4 …

time benchmarking haskell scala clojure

27
推荐指数
3
解决办法
4841
查看次数

警告:Nokogiri是针对LibXML版本2.7.7构建的,但动态加载了2.6.16

当我启动Rails时,我无法理解为什么我从Nokogiri那里得到这个错误.从我知道的一点点来看,似乎有些东西导致加载旧版本的libxml2,Nokogiri最终会使用它,而不是它编译的版本.

如果没有警告(并使用正确的libxml2),我需要做什么才能使其正常工作?

我在OS X 10.5.8的Macbook上运行它:

$ rake db:create
(in /Users/gareth/Sites/Rails3/ngtest)
WARNING: Nokogiri was built against LibXML version 2.7.7, but has dynamically loaded 2.6.16
HI.  You're using libxml2 version 2.6.16 which is over 4 years old and has
plenty of bugs.  We suggest that for maximum HTML/XML parsing pleasure, you
upgrade your version of libxml2 and re-install nokogiri.  If you like using
libxml2 version 2.6.16, but don't like this warning, please define the constant
I_KNOW_I_AM_USING_AN_OLD_AND_BUGGY_VERSION_OF_LIBXML2 before requring nokogiri.

ngtest_test already exists …
Run Code Online (Sandbox Code Playgroud)

compilation ruby-on-rails rvm

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

如何完全隐藏iPhone/HTML5中的导航栏

我是移动HTML5的新手.我使用jQuery Mobile作为我当前的应用程序,我在隐藏导航栏时遇到了一些问题.

我找到了这个网站:http://m.somethingborrowedmovie.warnerbros.com/.(我不粘贴此链接来宣传电影.)

我对这个HTML5网站感到惊讶.有没有人知道用于隐藏导航栏的方法?

菜单也做得很好.是否有任何框架来构建这样的应用程序?

mobile html5 iphone-standalone-web-app

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

如何使用jsPDF设置图像以适合页面的宽度?

有什么方法可以解决这个问题吗?我试图以mm为单位设置宽度和高度.如何将其设置为全宽?

javascript jspdf

26
推荐指数
8
解决办法
7万
查看次数

如何使用枚举类型字段生成模型?

我想使用生成器脚本在Rails中生成模型和相应的数据库表.数据库表具有"枚举"类型的字段.我该如何生成它?

表中SQL的定义:

create table works {
  id int unsigned not null auto_increment,
  nickname varchar(20) not null,
  sex enum('m', 'f') not null
};
Run Code Online (Sandbox Code Playgroud)

Rails生成器命令:

script/generator work nickname:string sex:(what should I write here?)
Run Code Online (Sandbox Code Playgroud)

enums ruby-on-rails

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

防止CSS3 flex-shrink破坏内容

我正在尝试在CSS3中创建一个灵活的布局,其中3个盒子相互堆叠.这些框是兄弟姐妹,因此具有相同的父元素.第一个框的高度必须符合其内容.下面两个方框的高度应该增长到适合它们各自的内容,直到它们即将溢出它们的父母.在这种情况下,它们会缩小,以免它们溢出.

问题是,如果其中一个收缩盒相对于另一个收缩盒的内容较小,我无法弄清楚如何防止其中一个收缩盒被压碎.我希望那些盒子缩小到某个不会缩小的位置 - 例如,相当于两行文本.设置min-width不是一个选项,因为我不希望框内容高于其内容,以防内容只有一行.如果任何一个盒子已经到了它不再缩小的位置而且父母不能在没有溢出的情况下保持它们,那么父母将得到一个滚动条.

我事先不知道内容,所以布局必须是动态的.如果可能的话,我想用CSS解决这个问题.

以下是box3太小的问题示例:

p {
    margin: 0;
}
.container, .box {
    border: 1px solid black;
}
.box {
    background-color: white;
    margin: 1em;
    overflow: auto;
}
#container {
    background-color: yellow;
    display: flex;
    flex-direction: column;
    height: 15em;
    overflow: auto;
}
#box1 {
    flex: 0 0 auto;
}
#box2 {
}
#box3 {
}
Run Code Online (Sandbox Code Playgroud)
<div id="container" class="container">
    <div id="box1" class="box">
        <p>?</p>
    </div>
    <div id="box2" class="box">
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p>
        <p>??????????????????</p> …
Run Code Online (Sandbox Code Playgroud)

css css3 flexbox

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

在Prom中使用Promise作为返回类型

我正在使用Flow 0.30.0.我有一个返回承诺的函数:

function process(callback:Function):Promise {
  return new Promise((r,re) => callback)
}
Run Code Online (Sandbox Code Playgroud)

流程引发错误,抱怨:

function process(callback:Function):Promise {
                                    ^^^^^^^ Promise. Application of polymorphic type needs <list of 1 argument>. (Can use `*` for inferrable ones)
Run Code Online (Sandbox Code Playgroud)

这适用于Try Flow,但不适用于本地.有什么想法吗?

javascript flowtype

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

如果JavaScript具有一流函数,为什么不在变量中调用此函数呢?

JavaScript据称具有一流的功能,所以这似乎应该是以下工作:

var f = document.getElementById;
var x = f('x');
Run Code Online (Sandbox Code Playgroud)

但它在所有浏览器上都失败了,每个浏览器都有不同的神秘错误消息.Safari说"类型错误".Chrome说"非法调用".Firefox说"无法转换JavaScript参数".

为什么?

javascript

21
推荐指数
2
解决办法
1274
查看次数

Git clone verbose mode - 显示每个传入的对象

我想知道这git clone --verbose不是很冗长.执行命令的输出如下:

$ git clone --verbose <repo>
remote: Counting objects: 184, done
remote: Finding sources: 100% (184/184)
remote: Total 184 (delta 66), reused 183 (delta 66)
Receiving objects: 100% (184/184), 18.90 KiB, done.
Resolving deltas: 100% (66/66), done. 
Run Code Online (Sandbox Code Playgroud)

预期的行为是逐个查看收到的对象列表.可以使用其他一些选项吗?

git verbose

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

为什么某些Emacs功能不能通过`Mx`获得?

这个Stack Overflow回答告诉我,我可以设置Emacs的字体大小set-face-attribute:

(set-face-attribute 'default nil :height 100)
Run Code Online (Sandbox Code Playgroud)

这些评论表明您不能运行set-face-attribute使用M-x:

Mx set-face-attribute [不匹配]

相反,你必须运行它M-::

Eval :( set-face-attribute'默认为nil:height 100)

为什么有些命令,例如set-face-attribute,不可用M-x

emacs

20
推荐指数
1
解决办法
3275
查看次数