scala – 如何使这段代码正常运行?
发布时间:2020-12-16 18:26:17 所属栏目:安全 来源:网络整理
导读:我编写了一个简单的脚本,用于将c风格的标识符名称(例如,invoice_number)转换为 java风格的标识符(例如,invoiceNumber). val files = Vector("file1","file2")for (file - files) { val in = io.Source.fromFile(file).mkString var out = "" var i = 0 while
我编写了一个简单的脚本,用于将c风格的标识符名称(例如,invoice_number)转换为
java风格的标识符(例如,invoiceNumber).
val files = Vector("file1","file2") for (file <- files) { val in = io.Source.fromFile(file).mkString var out = "" var i = 0 while (i < in.length) { val c = in(i) if (c == '_') { out += in(i + 1).toUpper i += 2 } else { out += c i += 1 } } val writer = new PrintWriter(file + "1") writer.write(out) writer.flush() writer.close() } 我想知道如何使这个代码功能化.我想不出任何更高阶函数来替换“如果< some-condition> else增加1”逻辑,则将“i增加2”.谢谢. 解决方法
好的,这是我的方法.
val in = "identifier" :: "invoice_number" :: "some_other_stuff" :: Nil val out = in map(identifier => { val words = identifier.split("_") val tail = words.tail.map(_.capitalize) (words.head /: tail)(_ + _) }) println(in) println(out) 认为它是合理的功能风格.有趣的scala大师将如何解决这个问题:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 怎么理解angularjs中的服务
- Bootstrap3 datetimepicker控件的使用
- Let kannel 1.4.3 support the bootstrap of the WiMAX
- MySQL所有操作hang住了,怎么破?
- ui-bootstrap-tpls 中文
- 如何将pkg-config名称映射到yum / apt-get
- 数组 – 在Bash中的可变列表或数组结构?我怎么能轻松地附加
- 如果加载了ngAnimate,则会生成AngularJS ngRepeat注??释标记
- tcpdump man文档介绍
- Angular 2 ContentChild & ContentChildren