小编Mic*_*ski的帖子

在Scala中使用函数值实现方法

是否可以使用函数对象/值提供方法的实现?我想以下列精神写一些东西:

abstract class A { def f(x:Int) : Int }

class B extends A { f = identity }
Run Code Online (Sandbox Code Playgroud)

scala

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

哪个基于树的字典在功能上最容易实现?

我正在寻找一个易于在Haskell中实现的基于树的字典数据结构.

您是否有实施AVL树或RB树的经验?我也在考虑splay树,但是看不到如何使用不可变数据来实现它们.

haskell data-structures

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

那么与F#有什么关系,现在它已经开源了?

在发现F#将在Apache许可下发布后,我非常兴奋.但我仍然不确定,语言/生态系统是否值得投入时间.

那么 - 您认为现在会发生什么?F#团队只发布"源代码"并且暂时没有贡献(我怀疑他们会这样做).另一方面,有F#PowerPack,人们可以尝试让F#更好(我希望他们能做出贡献).

http://fsharp.net网站有很多链接,但没有开放的邮件列表/论坛.http://cs.hubfs.net似乎空洞而且死了 - 它真的是社区的中心吗?有社区吗?

Mono似乎对F#感兴趣,但他们会适应它吗?另外 - 如果MS本身非常努力不用F#替换C#/ VB,那么真正的语言是什么?你没有获得Code Cotracts支持,没有视觉工作室的mstest跑步者,没有GUI设计师等.

那么F#只是另一种MS产品还是更多?

.net mono f# visual-studio-2010

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

在Eclipse中按名称运行操作

我想记住尽可能多的键盘快捷键,但总有一些我不知道如何通过键盘快捷键来做。是否有M-xEmacs等效的Eclipse 或从Intellij IDEA中按名称查找操作

eclipse ide

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

在GWT MVP中,如何在URL中保存状态,而不导航到另一个地方?

我有一个简单的页面,有一个小表单和一个结果表.当用户点击"搜索"按钮时,我希望将表单内容保存在URL中,以便搜索"可收藏".所以我真正想做的是更新URL(地点)而不触发整个MVP机器(我当前的活动可以处理新的地方而无需重新启动).

我怎样才能做到这一点?我试图直接搞乱History类,但后面的按钮表现得很奇怪.看着我发现了CachingActivityMapper,但我不确定这是否是"正确"的方法.

gwt

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

在这段 Scala 代码中,compare 与 compareTo 有何不同?

我有一段代码用于为优先级队列提供隐式排序:

type Time = Int
type Item = (Time, Whatever)

implicit def order(thisItem: Item): Ordered[Item] =
    new Ordered[Item] {
      override def compare(thatItem: Item) = {
        val result = thisItem._1 compareTo thatItem._1
        -result
      }
    }
Run Code Online (Sandbox Code Playgroud)

现在这段代码不能在 Scala 2.7 上编译 - 错误消息是:

error: type mismatch;
 found   : SimulationMode.this.Time
 required: ?{val compareTo: ?}
Note that implicit conversions are not applicable because they are ambiguous:
 both method int2Integer in object Predef of type (Int)java.lang.Integer
 and method intWrapper in object Predef of type (Int)scala.runtime.RichInt
 are …
Run Code Online (Sandbox Code Playgroud)

compiler-construction scala

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

为什么Vec <T> :: split_at_mut为该范围的其余部分借用了向量?

Vec<T> 有两种方法:

fn push(&mut self, value: T)
fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])
Run Code Online (Sandbox Code Playgroud)

他们都对载体进行了可变引用.但借款范围似乎不同,例如:

fn works() {
    let mut nums: Vec<i64> = vec![1,2,3,4];
    nums.push(5);
    println!("{}", nums.len());
}

fn doesnt_work() {
    let mut nums: Vec<i64> = vec![1,2,3,4];
    let (l,r) = nums.split_at_mut(2);
    println!("{}", nums.len());
}

fn also_works() {
    let mut nums: Vec<i64> = vec![1,2,3,4];
    let _ = nums.split_at_mut(2);
    println!("{}", nums.len());
}
Run Code Online (Sandbox Code Playgroud)

doesnt_work函数没有编译,说已经有一个可变的借用nums,它结束和函数的结束.如果我忽略从返回的值,问题就消失了split_at_mut.

rust borrow-checker

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