On 03/17/2015 12:34 AM, Razvan Crainea wrote:
On Mon, Mar 16, 2015 at 10:37 PM Victor Ciurel via so
<so@cursuri.cs.pub.ro <mailto:so@cursuri.cs.pub.ro>> wrote:
De asemenea, imi poate
explica cineva comportamentul diff de mai sus, pentru ca eu inteleg ca
rulat cu -B, se vor ignora randurile libere.
Dacă folosești opțiunea -B, când diff găsește o linie goală într-un
fișier, verifică dacă în celălalt fișier este _cel puțin_ o linie goală.
Concret, în cazul tău, diff găsește o linie goală între True și False
în cel de-al doilea fișier, în schimb în primul fișier nu era niciuna.
Deci testul returnează fals. Dacă erau două sau mai multe linii goale
între True și False, diff returna succes.
Am un contraexemplu pentru argumentul acesta:
"True\n\nFalse\n\n" vs "True\nFalse\n\n"
Comparand cu diff, aceste apar ca fiind identice, desi exista o linie
libera intre True si False in primul caz, dar nu si in al doilea.
As vrea sa mai inteleg cum anume au fost generat fisierul de referinta
pentru urmatoarele bucati de input (test20.in):
find brady
find into _test/outputs/test20.out.1
find jamie
Ce au ca output la stdout (test20.ref):
"True\n\nFalse\n"
Nu inteleg din ce motiv ar aparea o linie libera intre True si False.
Pentru fiecare comanda ce afiseaza in fisier, ar trebui sa apara o linie
libera si la stdout? Sau dupa fiecare comanda rulata vom afisa o linie
goala?
Victor
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii