在许多示例中,描述了您可以使用scala.io.Source来读取整个文件,如下所示:
val str = scala.io.Source.fromFile("test.txt").mkString()
Run Code Online (Sandbox Code Playgroud)
但没有提到关闭底层流.为什么Scala没有提供方便的方法来执行此操作,例如Python中的with子句?它看起来很有用但并不困难.
有没有其他更好的方法在Scala中安全地执行此操作,我的意思是读取整个文件?
有没有人知道scala中=> Unit的类型?我不知道=> Unit的含义以及如何使用它.我定义了如下函数:
def test(code: => Unit){
print("start ...")
code
print("end ....")
}
test(print(1))
Run Code Online (Sandbox Code Playgroud)
它是否意味着具有返回Unit的任何参数的函数?
谢谢
我想在scala中定义一个列表[Char],但是犯了一个错误.我错过了'b'之后的单引号字符.但是我得到了一个List [Any]实例.这是Scala的错误还是正常的结果?
scala> val list = List('a',**'b**,'c','d')
list: List[Any] = List(a, 'b, c, d)
当通过python在windows中读取txt文件时,在结果字符串中丢失了运输字符.
C:/text.txt
aaa\r\nbbb\r\nccc\r\nddd
Run Code Online (Sandbox Code Playgroud)
码:
input = open('c:/text.txt')
str = input.read()
import repr
for i,ch in enumerate(str):
print i,ord(ch),repr.repr(ch)
Run Code Online (Sandbox Code Playgroud)
结果:
0 97 'a'
1 97 'a'
2 97 'a'
3 10 '\n'
4 98 'b'
5 98 'b'
6 98 'b'
7 10 '\n'
8 99 'c'
9 99 'c'
10 99 'c'
11 10 '\n'
12 100 'd'
13 100 'd'
14 100 'd'
Run Code Online (Sandbox Code Playgroud)
你可以看到所有的马车角色都丢失了.任何建议表示赞赏.
谢谢.