我从Java学习编程,然后每年尝试学习一种编程语言,第二种是C++,然后是Python.它来学习下一个,我寻找新的东西,我选择Scala,因为它与Java兼容,可能是从OOP到功能编程的一些过渡.
这很酷,学习新的范例,新的风格和新的思维方式.阅读有关优雅Scala概念的精彩体验,以及在Scala上编写代码要好得多.
阅读很多文章我在这篇文章中批评Scala:
Scala不是函数式编程语言.它是一种静态类型的面向对象语言,带有闭包.
看完这篇文章之后,我有些疑惑,我真的很喜欢Scala并开始更多地编写Scala,但是Scala是否适合函数式编程的定义?那篇文章是说真话还是假装读者?我必须学习Haskell或其他一些功能编程语言来真正体验FP吗?
更新:通过良好的例子期待理性答案,而不会引起争议.
下载了IntelliJ IDEA社区版,意识到它没有JavaScript支持和调试器.
有关好的免费插件的任何建议吗?
从2.8.1迁移到2.9.1发现了有趣的事情.试图在控制台中写这个:
>>import collection.immutable.Set.Set4
>>new Set4[Int](1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
它给:
java.lang.Error: Unexpected New
at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:34)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$bac
..........................
That entry seems to have slain the compiler. Shall I replayscala:660)
your session? I can re-run each line except the last one.reach(ListBuffer.scala:
[y/n]?
Run Code Online (Sandbox Code Playgroud)
我正在使用Scala版本2.9.1.final(Java HotSpot(TM)客户端VM,Java 1.6.0_26).
类Set3和Set2也会发生同样的事情.
这些已知问题吗?
或者,也许,我做错了什么?
在scala 2.8.1控制台中它可以工作,并返回:
res0: collection.immutable.Set.Set4[Int] = Set(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
我必须将这些报告为bug吗?
我正在研究在scala 2.8.1中实现的项目,想要迁移到scala 2.9.1并使用akka-actors库而不是标准,但没有找到主要更改的好总结,这里我发现:
从scala 2.8.1到scala 2.9.1的主要变化是什么?
需要大量迁移的变更.
更新1:谢谢,@ VonC - 注意:请记住,其中一些更改将在即将发布的2.8.2中向后移植:Scala 2.8.2发行版
更新2:在scala 2.9.1控制台中发现Set4的奇怪行为
想要练习一些领域特定语言(DSL),首先想到的是编写Brainfuck的解释器或编译器.最初的想法是覆盖这样的功能,因为它们将表现为Brainfuck命令:">","<","+","-",".",",","[","]".不幸的是你无法将decalare功能视为".".
在Scala中编写它有更好的解决方案吗?
Scala Actors中未读收件箱邮件会发生什么?例如两种情况:1.如果忘记为特殊消息实施反应案例:2.如果消息过快:如果发生第一种或第二种情况,它是否会堆叠在内存中?actor!NoReactCaseMessage(timeOfProcessingMessage > timeOfMessageComes)
编辑1有没有机制看到这种类型的内存泄漏发生?也许,控制未读消息的数量然后进行一些垃圾收集或增加演员池.如何获取未读邮件的数量?这种内存泄漏如何在其他语言中解决?比如在Erlang?
我将使用Vaadin UI框架来开发Web应用程序,其中搜索引擎中的索引非常关键.而且我知道大多数搜索引擎没有索引GWT网站.
我已经用Google搜索并找到了一些解决方案,用户代理识别搜索引擎并将其重定向到特殊的可索引页面.
我认为这不是最好的方式.
有什么创意吗?(真的会让人惊讶!!!)
我在Intellij Idea CE中有简单的任务,点击Run(Shift + F10)后,浏览器必须打开一些页面,例如http://localhost:8080.怎么做?我在编辑配置中找不到可靠的选项.
我对Scala Lift中的https几乎没有疑问:
如何为我的Web应用程序设置仅使用https协议?
我是否必须为使用https的现有应用程序重写一些代码?
请求响应周期是变更还是没有任何差异?
哪里可以使用https找到好的scala lift开源项目或者只是为了看看框架的高级使用?
谢谢.
每个Java开发人员都有自己的日常站点,我想向更有经验的Java开发人员询问他们将向经验不足的Java开发人员推荐的Web资源列表.
有String str"2011年5月23日12:20:00",想把它转换为日期这样:
Date date = (new SimpleDateFormat("MMM dd yyyy HH:mm:ss")).parse(str);
Run Code Online (Sandbox Code Playgroud)
它总是给我ParseException Unparsable日期格式:'May 23 2011 12:20:00'.
看着类似的问题,似乎一切正常.
怎么了?
我在Mojarra-2.1.10上使用primefaces PrimeFaces-3.4,我的整页布局是这样的.我如何在顶部制作一个按钮,这将折叠西部layoutUnit?
感谢帮助.
PS,早期假设可以写这样的东西:
<layoutUnit position="west" widgetVar='westlayout'> ... </layoutUnit>
//button in the top
<button onlick="westlayout.collapse()"></button>
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,layoutUnit不存在widgetVar属性.
更新1:发现类似的问题,尝试过.没有为我工作,问题是具有更新属性的按钮无法找到具有此类标识符的文本,我在一个layoutUnit中尝试,找到了标识符,但也没有工作.