是否有比较Scala和JavaFX Script的代码示例?

时间:2009-10-17 02:48:03

标签: scala javafx javafx-1

我正在研究JavaFX Script并试图将它与Scala进行比较,Scala是另一种非常有趣的Java平台新语言。

在Scala官方网站上,我找到了this example,这是一个快速排序实现。 然后,我编写了以下等效的JavaFX Script程序(使用NetBeans IDE 6.7.1):

package examples;

function sort(a: Integer[]): Integer[] {
   if (sizeof a < 2)
      a
   else {
      def pivot = a[sizeof a / 2];
      [sort(a[n | n < pivot]), a[n | n == pivot], sort(a[n | n > pivot])];
   }
}

function run(args: String[]) {
   def xs = [6, 2, 8, 5, 1];
   println(xs);
   println(sort(xs));
}

两个功能程序非常相似,但我更喜欢JavaFX版本。 Scala版本中的那些“_”和“:::”部分对我来说看起来不太吸引人......

当然,这两种语言还有很多,所以我正在寻找更多的例子。 有谁知道我能在哪里找到一些?或者甚至更好,在这里发布其他例子?

1 个答案:

答案 0 :(得分:3)

请记住,Scala语法非常灵活。你可以用这种方式轻松地写出“:::”和“_”:

package example

/** Quick sort, functional style */
object sort1 {
  def sort(a: List[Int]): List[Int] = {
    if (a.length < 2)
      a
    else {
      val pivot = a(a.length / 2)
      List.concat(
        sort( a.filter( n => n <  pivot ) ),
              a.filter( n => n == pivot ),
        sort( a.filter( n => n >  pivot ) )
      )
    }
  }
  def main(args: Array[String]) {
    val xs = List(6, 2, 8, 5, 1)
    println(xs)
    println(sort(xs))
  }
}

对于代码比较,我通常会看http://rosettacode.org/ 它有几个Scala示例,但没有JavaFX示例。如果你在这个项目中走得很远,请花些时间在该站点上添加一些JavaFX。 : - )