我已经在Google Play上发布了一个应用程序几个月了.我可以从开发者控制台看到它有一些下载,但应用页面上的应用程序图标旁边没有显示下载次数(与所有其他应用程序一样).
为什么是这样?我需要配置一些我不知道的东西吗?
谢谢!
学习Haskell,我碰到的事实foldl产生的thunk,并可能会崩溃堆栈,所以最好使用foldl'从Data.List.为什么它只是foldl,而不是,例如,foldr?
谢谢
我编写了一个简短的Scala程序来读取一个大文件,处理它并将结果存储在另一个文件中.该文件包含大约60000行数字,我需要从每个第三行提取第一个数字.最后我将这些数字保存到另一个文件中.虽然数字,但我一直把它们视为字符串.
这是Scala代码:
import scala.io.Source
import java.io.BufferedWriter
import java.io.FileWriter
object Analyze {
def main(args: Array[String]) {
val fname = "input.txt"
val counters = Source.fromFile(fname).mkString.split("\\n").grouped(3)
.map(_(2).split("\\s+")(0))
val f = new BufferedWriter(new FileWriter("output1.txt"))
f.write(counters.reduceLeft(_ + "\n" + _))
f.close()
}
}
Run Code Online (Sandbox Code Playgroud)
我非常喜欢Scala强大的一个内衬的能力.上面代码中的单行读取文件中的整个文本,将其拆分为行,将行分组为3行组,然后从每个组中获取第3行,将其拆分并获取第一个数字.
这是等效的python脚本:
fname = 'input.txt'
with file(fname) as f:
lines = f.read().splitlines()
linegroups = [lines[i:i+3] for i in range(0, len(lines), 3)]
nums = [linegroup[2].split()[0] for linegroup in linegroups]
with file('output2.txt', 'w') as f:
f.write('\n'.join(nums))
Run Code Online (Sandbox Code Playgroud)
Python不具备这样的一个衬里.在上面的脚本中,第一行代码将文件读入行列表,下一行将行分组为3组,下一行创建一个列表,其中包含每个组的每个最后一行的第一个数字.它与Scala代码非常相似,只是它的运行速度要快得多.
python脚本在我的笔记本电脑上运行不到一秒钟,而Scala程序运行15秒!我注释掉了将结果保存到文件的代码,持续时间降到了5秒,这仍然太慢了.另外我不明白为什么将数字保存到文件需要这么长时间.当我处理更大的文件时,python脚本运行了几秒钟,而Scala程序的运行时间是几分钟,我无法用来分析我的文件.
我很感激你对这个问题的建议.谢谢
给出以下代码:
abstract class Field {
type T
val data: List[T]
def sum: T = data(0) + data(1)
}
Run Code Online (Sandbox Code Playgroud)
我在最后一行收到错误 - def sum: T = data(0) + data(1):
types2.scala:6:错误:类型不匹配;
发现:Field.this.T
必需:字符串
def sum:T = data(0)+ data(1)
Run Code Online (Sandbox Code Playgroud)^
也就是说,它期望数据(1)是a String.我不明白为什么......(scala 2.8.1)
非常感谢您的解释!
我尝试使用一些小部件创建GUI,所有这些小部件都没有对父级进行仲裁.它工作正常.
这是好的,还是有理由指定父母?
谢谢!