java – 缺少第三方库阻止您使用Scala?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 缺少第三方库阻止您使用Scala?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1606字,纯文字阅读大概需要3分钟。
内容图文
![java – 缺少第三方库阻止您使用Scala?](/upload/InfoBanner/zyjiaocheng/766/89e182c04cb24dcbbf1eb4a7c9bfe77c.jpg)
我前几天开始学习Scala.至于语言本身,我认为这很棒,没有任何问题.为了帮助我学习过程,我为自己设置了一个任务,从HTML页面下载,解析和索引文本.
在执行上述操作时,我发现自己不断深入研究现有的Java库.我发现我必须使用Java库来:
1)打开连接 – java.net.URL
2)解析HTML(TagSoup – 因为普通的XML解析器不能处理最糟糕的HTML)
3)索引文本(Lucene)
鉴于我不得不依靠Java库来完成相当多的繁重工作,我不知道是否值得我使用Scala开始,除了作为一个学习练习.这部分是由于需要一些额外的心理努力才能在两者之间进行映射,例如,字体[]的Scala类型不是直观明显的,因为Scala中的所有东西都是对象.这是额外的心理处理,可以使这个过程看起来有点笨重.
是否有人认为较少的第三方库(与Java相比)是在商业项目中使用Scala的障碍?
如果你可以调用现有的Java库,那么它是否重要,或者在代码库中不得不跨越两种不同的语言会让它变得更难?
解决方法:
我推荐这篇文章(和模式):
每当Java库的接口在Scala中有点麻烦时,这是一种使它更方便,代码更优雅的好方法.这是一个非常简单的例子.我想在我的代码中一直使用Scala XML pretty打印机来返回格式良好的XML.这是正常的方法:
class Service {
val pp = new scala.xml.PrettyPrinter(80,2)
def content =
pp.format(<foo><bar>{something()}</bar></foo>)
}
但是,因为我一直这样做,所以我将它添加到我的包中
import scala.xml.Elem
object PrettyXml {
val pp = new scala.xml.PrettyPrinter(80,2)
}
trait PrettyXml {
case class Formatted(xml:Elem) {
def pretty = PrettyXml.pp.format(xml)
}
implicit def toFormatted(xml:Elem) = Formatted(xml)
}
现在我可以用我的原始代码替换
class Service extends PrettyXML {
val pp = new scala.xml.PrettyPrinter(80,2)
def content =
<foo><bar>{something()}</bar></foo> pretty
}
如果我不想让它成为一个特性,我可能会把PrettyXML放在一个包对象中.
内容总结
以上是互联网集市为您收集整理的java – 缺少第三方库阻止您使用Scala?全部内容,希望文章能够帮你解决java – 缺少第三方库阻止您使用Scala?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。