Thread View: pl.comp.lang.tcl
9 messages
9 total messages
Started by qoocku
Fri, 31 Mar 2006 06:47
newbe: zapobieganie translacji znaku "\" podczas czytania z pliku
Author: qoocku
Date: Fri, 31 Mar 2006 06:47
Date: Fri, 31 Mar 2006 06:47
8 lines
1332 bytes
1332 bytes
Joł! W pliku mam linie ze znakami "\". Uzywając "gets $channel line" dostaję w $line wiersze bez tych znaków. Ja się takie linie czyta bez utraty znaków "\", ewentualnie z automtyczną translacją z "\" na "/" ? Damian
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Wojciech Kocjan
Date: Fri, 31 Mar 2006 07:12
Date: Fri, 31 Mar 2006 07:12
15 lines
1414 bytes
1414 bytes
On Fri, 31 Mar 2006 08:47:43 +0200, <qoocku@gmail.com> wrote: > Joł! > > W pliku mam linie ze znakami "\". Uzywając "gets $channel line" > dostaję w $line wiersze bez tych znaków. Ja się takie linie czyta > bez utraty znaków "\", ewentualnie z automtyczną translacją z "\" na > "/" ? Mylisz się, gets czyta poprawnie, to ty źle z nich potem korzystasz - prawdopodobnie mylisz funkcje do obsługi list z funkcjami do obsługi ciągów znaków... -- WK
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Derek Kuliński / takeda
Date: Fri, 31 Mar 2006 09:56
Date: Fri, 31 Mar 2006 09:56
25 lines
2610 bytes
2610 bytes
On Fri, 31 Mar 2006 09:12:28 +0200, Wojciech Kocjan wrote: >> W pliku mam linie ze znakami "\". Uzywając "gets $channel line" >> dostaję w $line wiersze bez tych znaków. Ja się takie linie czyta >> bez utraty znaków "\", ewentualnie z automtyczną translacją z "\" na >> "/" ? > Mylisz się, gets czyta poprawnie, to ty źle z nich potem korzystasz - > prawdopodobnie mylisz funkcje do obsługi list z funkcjami do obsługi > ciągów znaków... To jest chyba najczęstszy błąd jaki widzę, ludzie używają lindex i lrange na stringach bez wcześniejszej konwersji do listy używając split. Damian, jak używasz lindex i podobne funkcje na stringu powinieneś to zrobić np. tak: set pierwsze_slowo [lindex [split $zdanie] 0] IMO, fajnie byłoby jak by tcl miał tryb działanie (np. nazywałby się strict) i w przypadku próby mieszania listy ze stringiem wywalałby błąd. Albo robił podobnie jak np PHP, czyli zwracał np "Array" albo coś w tym stylu :) -- ダレック takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64 http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Wojciech Kocjan
Date: Fri, 31 Mar 2006 11:03
Date: Fri, 31 Mar 2006 11:03
28 lines
2113 bytes
2113 bytes
On Fri, 31 Mar 2006 11:56:51 +0200, Derek Kuliński / takeda <d.kulinski@gmail.com> wrote: >>> W pliku mam linie ze znakami "\". Uzywając "gets $channel line" >>> dostaję w $line wiersze bez tych znaków. Ja się takie linie czyta >>> bez utraty znaków "\", ewentualnie z automtyczną translacją z "\" na >>> "/" ? >> Mylisz się, gets czyta poprawnie, to ty źle z nich potem korzystasz - >> prawdopodobnie mylisz funkcje do obsługi list z funkcjami do obsługi >> ciągów znaków... > > To jest chyba najczęstszy błąd jaki widzę, ludzie używają lindex i lrange > na stringach bez wcześniejszej konwersji do listy używając split. To fakt :-) Chociaż to też kwestia logiki ;) > IMO, fajnie byłoby jak by tcl miał tryb działanie (np. nazywałby się > strict) i w przypadku próby mieszania listy ze stringiem wywalałby błąd. > Albo robił podobnie jak np PHP, czyli zwracał np "Array" albo coś w tym > stylu :) No fajnie, ale np często moje pliki konfiguracyjne działają na zasadzie array set config [read $fh] Wtedy już jest gorzej ;) -- WK
Re: newbe: zapobieganie translacji znaku "\" podczas czytania z pliku
Author: Damian D.
Date: Fri, 31 Mar 2006 13:32
Date: Fri, 31 Mar 2006 13:32
5 lines
1591 bytes
1591 bytes
Dzieki za uwagi. W miedzyczasie spytalem sie na comp.lang.tcl i tam dostalem odpowiedz o uzyciu "file normalize". Oczywiscie gets nic nie wycina, tylko moje nastepne dzialania z próba przeksztalcenia przeczytanego wiersza na liste dwuelementowa usunely mi te znaki. O 'split' jeszcze wtedy nic nie wiedzialem :)
Re: newbe: zapobieganie translacji znaku "\" podczas czytania z pliku
Author: Derek Kuliński / takeda
Date: Fri, 31 Mar 2006 19:49
Date: Fri, 31 Mar 2006 19:49
22 lines
2042 bytes
2042 bytes
On 31 Mar 2006 05:32:27 -0800, Damian D. wrote: > Dzieki za uwagi. W miedzyczasie spytalem sie na comp.lang.tcl i tam > dostalem odpowiedz o uzyciu "file normalize". Wydaje mi się, że nie zrozumieli Twojego problemu. > Oczywiscie gets nic > nie wycina, tylko moje nastepne dzialania z próba przeksztalcenia > przeczytanego wiersza na liste dwuelementowa usunely mi te znaki. O > 'split' jeszcze wtedy nic nie wiedzialem :) split, join, list to b. pożyteczne funkcje :) Tutaj więcej o nich: http://www.tcl.tk/man/tcl8.4/TclCmd/split.htm http://www.tcl.tk/man/tcl8.4/TclCmd/join.htm http://www.tcl.tk/man/tcl8.4/TclCmd/list.htm -- ダレック takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64 http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Derek Kuliński / takeda
Date: Fri, 31 Mar 2006 19:49
Date: Fri, 31 Mar 2006 19:49
14 lines
1792 bytes
1792 bytes
On Fri, 31 Mar 2006 13:03:25 +0200, Wojciech Kocjan wrote: > No fajnie, ale np często moje pliki konfiguracyjne działają na zasadzie > array set config [read $fh] > Wtedy już jest gorzej ;) Zawsze możnaby dodać polecenia typu serialize, deserialize, etc. które zapisywały by tablicę czy listę jako string i używało by się je właśnie w takich sytuacjach. -- ダレック takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64 http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Wojciech Kocjan
Date: Fri, 31 Mar 2006 19:55
Date: Fri, 31 Mar 2006 19:55
15 lines
1721 bytes
1721 bytes
On Fri, 31 Mar 2006 21:49:54 +0200, Derek Kuliński / takeda <d.kulinski@gmail.com> wrote: >> No fajnie, ale np często moje pliki konfiguracyjne działają na zasadzie >> array set config [read $fh] >> Wtedy już jest gorzej ;) > Zawsze możnaby dodać polecenia typu serialize, deserialize, etc. które > zapisywały by tablicę czy listę jako string i używało by się je właśnie w > takich sytuacjach. To już nie byłby Tcl... Beztypowość to właśnie największy plus Tcla, zresztą to nawet ma swój sens - "less time for coding, more time for writing tests" :-) -- WK
Re: newbe: zapobieganie translacji znaku "" podczas czytania z pliku
Author: Derek Kuliński / takeda
Date: Fri, 31 Mar 2006 23:31
Date: Fri, 31 Mar 2006 23:31
15 lines
2032 bytes
2032 bytes
On Fri, 31 Mar 2006 21:55:53 +0200, Wojciech Kocjan wrote: >> Zawsze możnaby dodać polecenia typu serialize, deserialize, etc. które >> zapisywały by tablicę czy listę jako string i używało by się je właśnie w >> takich sytuacjach. > To już nie byłby Tcl... Beztypowość to właśnie największy plus Tcla, > zresztą to nawet ma swój sens - "less time for coding, more time for > writing tests" :-) Wygląda na to, że Tcl jest w takim razie nie dla mnie :))) -- ダレック takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64 http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads