S-JIS[2011-02-27/2011-08-31] �ύX����

Scala �e�L�X�g�t�@�C������

Scala�ł́A�e�L�X�g�t�@�C����ǂݍ��ނ̂�scala.io.Source�I�u�W�F�N�g���g�p����B


�e�L�X�g�t�@�C���̓ǂݍ���

�e�L�X�g�t�@�C����ǂݍ��ނɂ�fromFile()���\�b�h���g�p����B�iScala2.8�j

import scala.io.Source
val s = Source.fromFile("C:/temp/abc.txt")
try {
  for (line <- s.getLines) {
    println(line)
  }
} finally {
  s.close
}

fromFile()�̑�2�����Ńt�@�C���̃G���R�[�f�B���O�i�����R�[�h�j���w�肷�邱�Ƃ��o����B

val s = Source.fromFile("C:/temp/abc.txt", "MS932")

�i�t�@�C�������w�肷��Ƃ���"""���g����Windows�̃p�X��؂�Ɂu\�v���g���₷�����Au�Ŏn�܂�t�@�C������f�B���N�g���[���Ńn�}��̂ŁA�ߐM�͂��Ȃ����������j

fromFile()�ŕԂ����Source�i���ۂ�BufferedSource�j�́AChar�i�����j�̕��сB
getLines()���\�b�h���Ăяo���ƍs���̕�����iString�j�̕��тɂȂ�B


Source�����getLines()�ŕԂ�����C�e���[�^�[�́A��x�����g���Ȃ��i�J��Ԃ��g�����Ƃ͏o���Ȃ��j�B

scala> val s = Source.fromFile("C:/temp/abc.txt")
s: scala.io.BufferedSource = non-empty iterator

scala> s.isTraversableAgain
res1: Boolean = false

scala> s.size
res2: Int = 2395

scala> s.size
res3: Int = 0

scala> s.getLines.foreach{ println(_) }
					�������o�Ȃ�

size���\�b�h�̓��������́A�S�Ẵf�[�^��ǂݍ���ŕ������𐔂���悤�ɂȂ��Ă���B
�S�ēǂݍ���ł��܂��̂ŁA�C�e���[�^�[�̓t�@�C���̖������w����ԂɂȂ�A�ēxsize���Ăяo���Ă��i�����ǂݍ��߂���̂������̂Łj0��Ԃ��B
���̏�Ԃ��當������擾���悤�Ƃ��Ă������i�����Ԃ��Ă��Ȃ��j�B

���������āA�ǂݍ��񂾌��ʂ��J��Ԃ��g�p�������ꍇ��toList���\�b�h�����g���ĕϊ����Ă����B

val s = Source.fromFile("C:/temp/abc.txt")
val list = try s.getLines.toList finally s.close

Scala2.9.0��REPL�ł́ASource�̐����Ƃ��̌�̑����2�s�ɕ����Ď��s����ƁA���ʂ���ɂȂ�B[2011-06-05]
Scala2.9.1-final�Œ������B[2011-08-31]

Scala ���l
scala> val s = Source.fromFile("C:/temp/a2.txt")
s: scala.io.BufferedSource = non-empty iterator

scala> val r = s.getLines.toList
r: List[String] = List()
2�s�ɕ����Ď��s����ƁA���ʂ���B
scala> val s = Source.fromFile("C:/temp/a2.txt");val r = s.getLines.toList
s: scala.io.BufferedSource = empty iterator
r: List[String] = List(aaa, aa)
scala> val r = Source.fromFile("C:/temp/a2.txt").getLines.toList
r: List[String] = List(aaa, aa)
1�s�Ŏ��s����Ƒ��v�B
scala> val s = Source.fromFile("C:/temp/a2.txt")
s: scala.io.BufferedSource = non-empty iterator

scala> val r = s.getLines.toList
r: List[String] = List(aaa, aa)
Scala2.8.1-final�E2.9.1-final���Ƒ��v�B[/2011-08-31]

Scala�ڎ��֖߂� / �Z�p�����֖߂�
���[���̑��M��F�Ђ�����

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@