HALLELUJAH .. myslel jsem. Konečně jsem opravil svůj starý skript…….
Znovu jsem ho spustil a STÁLE jsem měl stejnou chybovou hlášku!
Tady jsem se měl asi zamyslet:
„Jednou jsem to pochopil správně a podařilo se mi cvičení zpracovat a dokončit. Prostě to zabalím a nebudu se starat o soubor, který vrací chybovou hlášku.“
Ale jsem příliš zvědavý/tvrdohlavý na to, abych se spokojil s tím, že nad prvním skriptem nechám viset chybu.
Spustil jsem irb v terminálu.
Spustil jsem soubor, který jsem dostal správně, znovu & soubor s chybovou hláškou:
Zkoušel jsem přijít na to, jaký je mezi oběma soubory rozdíl.
Možná to bylo v adresářích, do kterých byly uloženy?
Zkontroloval jsem to a opravdu byly uloženy v různých adresářích.
Uložil jsem tedy chybový soubor do stejného adresáře jako soubor, který fungoval…..
Neviděl jsem žádný jiný rozdíl, tak jsem ….
zkopíroval a vložil text z fungujícího souboru do chybového souboru.
Pak se stalo něco strašného!
OBA soubory přestaly fungovat!!!!
Stejná chybová hláška se objevila u prvního souboru a nyní pracovní soubor vracel ‚false‘, když jsem ho ‚vyžadoval‘ pomocí irb:
Možná příčina tohoto problému:
Příliš mnoho souborů se stejným nebo podobným názvem ve stejném adresáři?
Smazal jsem všechny kromě jednoho… A jako mávnutím kouzelného proutku ..
FUNGUJE TO !!!
Spustil jsem v terminálu pracovní skript pro Ex25 a postupoval podle návodu, jak pomocí irb volat jeho funkce.
Tady jsou mé výsledky a vysvětlení toho, co se děje:
Správný skript pro Ex25
Spouštění skriptu v příkazovém řádku. ‚irb‘
Označil jsem místa, kde jsem musel trochu přemýšlet, jak to funguje. Zde je mé vysvětlení:
1. Vypisuje ‚wait‘, protože funkce působí na pole ‚words‘, které není setříděné. Setříděné pole se jmenuje ‚sorted_words‘.
2. Pole ‚Words‘ má ve funkci print posunuté první a poslední („all“ a ‚wait‘ ) hodnoty.
3. Volání na pole ‚sorted_words‘, ne na pole ‚words‘, které má chybějící hodnoty. Proto je ‚all‘ stále v poli.
4….Zdá se, že na obrázku chybí … Takže jsem to tehdy jasně považoval za nepodstatné, proto to samé udělám teď znovu.
5.. Použití původní proměnné ‚sentence‘ a její předání přes funkci. Ta tuto proměnnou věta rozdělí do pole pokaždé, když narazí na mezeru. Pak pomocí funkce Ex25.sort_words seřadí toto pole slov.
6. Vezme původní proměnnou ‚sentence‘, rozdělí ji na pole slov a pak vypíše první a poslední hodnotu tohoto pole.
Takže jsme se nyní dostali ke konci mého zápolení s cvičením 25 z knihy Learn Ruby the Hard way. Doufám, že se vám líbilo a bylo pro vás užitečné mé higgledy piggldy řešení problémů, které nakonec vedlo k tomu, že jsem překonal chybová hlášení uvedená při spuštění mého skriptu. Prosím, obraťte se na mě, pokud byste náhodou při čtení tohoto &příspěvku potřebovali pomoc s jeho pochopením.
Užijte si to, 🙂
Tento příspěvek byl původně zveřejněn ZDE.