2016-04-14 25 views
1

2htdp kitaptan Part two okuyacağım ve 2htdp/batch-io altında yaşayan read-words/line işlevinin davranışını merak ediyorum.Raket: 2htdp `Read-words/line 'son satırsonu bilgilerini koruyor mu?

echo -ne "first line\n\nthird line\n" > file1.txt 
echo -ne "first line\n\nthird line" > file2.txt 

Ben read-words/line sahip dosyaların her biri okursanız:

İki farklı dosyalar, böyle onsuz dosyanın sonuna bir \n ve ikinci dosyayı sahip ilk dosya yarattı

(read-words/line "doc/book/htdp2/data/file1.txt") 
    ; => '(("first" "line")() ("third" "line")) 

(read-words/line "doc/book/htdp2/data/file2.txt") 
    ; => '(("first" "line")() ("third" "line")) 

Bu fonksiyon ilk dosyasındaki son satır karakteri gelen bilgileri koruyarak olmadığını arar: Bu sonucudur.

Bu davranış amaçlanıyor mu?

Ben bir GNU/Linux kutusuna Dr Racket 6.2.1 çalıştırıyorum.

Sağol,

cevap

1

Evet derdim. Okuma-kelimelerin/satırların amacı, okunan her satır için bir kelime listesi üretmektir. Bir çizgi normal olarak yeni satırda biten karakter dizisidir. Bir dosyanın son satırı, yeni satırın yerine "dosyada" yazılabilir. Bu örneği deneyin:

echo -ne "first line\n\nthird line\n\n" > file1.txt 

Son satırın boş bir sözcük listesi üretmesini bekliyorum.

+0

Dediğiniz gibi, amaçlanan davranış budur. Raket kullanıcı forumunda bir konu açtım ve bunun amaçlanan davranış olduğunu ve belgelere eklendiğini söylediler. https://groups.google.com/forum/#!topic/racket-users/YnXJ36XGohM – quicoju