Thread View: pl.comp.lang.tcl
6 messages
6 total messages
Started by T
Fri, 01 Feb 2008 17:20
Jak sobie z tym radzicie?
Author: T
Date: Fri, 01 Feb 2008 17:20
Date: Fri, 01 Feb 2008 17:20
14 lines
436 bytes
436 bytes
Prosty przykład: puts [exec abc] Problem powstanie gdy "abc" zwróci coś z [] itp. Można oczywiście przelecieć output regsubem czy czymś podobnym ale tego zdecydowanie chciałbym uniknąć ze względu na słabą wydajność. Przypuszczam, że rozwiązanie tego problemu może być trywialne, ale nic nie przychodzi mi na myśl. Może ktoś z Was juz to przerabiał i znalazł dobre rozwiązanie? -- http://tomasz.insane.pl
Re: Jak sobie z tym radzicie?
Author: "Stachu 'Dozzie'
Date: Fri, 01 Feb 2008 16:28
Date: Fri, 01 Feb 2008 16:28
26 lines
668 bytes
668 bytes
On 01.02.2008, T <t@invalid.invalid> wrote: > Prosty przyk³ad: > > puts [exec abc] > > Problem powstanie gdy "abc" zwróci co¶ z [] itp. Naprawdê? To mój tclsh jeszcze o tym nie wie. #v+ [dozzie@dynamit dozzie]$ tclsh <<<'puts [exec echo {aaa[]bbb}]' aaa[]bbb [dozzie@dynamit dozzie]$ #v- > Mo¿na oczywi¶cie przelecieæ output regsubem czy czym¶ podobnym ale tego > zdecydowanie chcia³bym unikn±æ ze wzglêdu na s³ab± wydajno¶æ. > > Przypuszczam, ¿e rozwi±zanie tego problemu mo¿e byæ trywialne, ale nic > nie przychodzi mi na my¶l. > > Mo¿e kto¶ z Was juz to przerabia³ i znalaz³ dobre rozwi±zanie? B³±d masz gdzie¶ indziej. -- Secunia non olet. Stanislaw Klekot
Re: Jak sobie z tym radzicie?
Author: "Stachu 'Dozzie'
Date: Fri, 01 Feb 2008 17:23
Date: Fri, 01 Feb 2008 17:23
32 lines
817 bytes
817 bytes
On 01.02.2008, T <t@invalid.invalid> wrote: > Stachu 'Dozzie' K. pisze: > >>> puts [exec abc] >>> >>> Problem powstanie gdy "abc" zwróci co¶ z [] itp. >> >> Naprawdê? To mój tclsh jeszcze o tym nie wie. #v+ >> [dozzie@dynamit dozzie]$ tclsh <<<'puts [exec echo {aaa[]bbb}]' aaa[]bbb >> [dozzie@dynamit dozzie]$ >> #v- > > Przecie¿ poda³em inny przyk³ad, bez parametrów. A co to ma do rzeczy? Zawsze wydawa³o mi siê, ¿e do pisania programów trzeba rozumieæ, co siê robi... Ale niech bêdzie, ¿e to mo¿e byæ istotne. #v+ [dozzie@dynamit dozzie]$ cat > blah.sh #!/bin/sh echo 'aaa[]bbb' [dozzie@dynamit dozzie]$ chmod a+x blah.sh [dozzie@dynamit dozzie]$ ./blah.sh aaa[]bbb [dozzie@dynamit dozzie]$ tclsh <<<'puts [exec ./blah.sh]' aaa[]bbb [dozzie@dynamit dozzie]$ #v- -- Secunia non olet. Stanislaw Klekot
Re: Jak sobie z tym radzicie?
Author: T
Date: Fri, 01 Feb 2008 18:10
Date: Fri, 01 Feb 2008 18:10
14 lines
349 bytes
349 bytes
Stachu 'Dozzie' K. pisze: >> puts [exec abc] >> >> Problem powstanie gdy "abc" zwróci coś z [] itp. > > Naprawdę? To mój tclsh jeszcze o tym nie wie. #v+ > [dozzie@dynamit dozzie]$ tclsh <<<'puts [exec echo {aaa[]bbb}]' aaa[]bbb > [dozzie@dynamit dozzie]$ > #v- Przecież podałem inny przykład, bez parametrów. -- http://tomasz.insane.pl
Re: Jak sobie z tym radzicie?
Author: ZB
Date: Fri, 01 Feb 2008 18:19
Date: Fri, 01 Feb 2008 18:19
24 lines
507 bytes
507 bytes
Dnia 01.02.2008 Stachu 'Dozzie' K. napisa³/a: >> Prosty przyk³ad: >> >> puts [exec abc] >> >> Problem powstanie gdy "abc" zwróci co¶ z [] itp. > > Naprawdê? To mój tclsh jeszcze o tym nie wie. > #v+ > [dozzie@dynamit dozzie]$ tclsh <<<'puts [exec echo {aaa[]bbb}]' > aaa[]bbb > [dozzie@dynamit dozzie]$ > #v- Byæ mo¿e Koledze chodzi o sytuacje bardziej specyficzne, np.: puts [exec echo [info body]] Wtedy mo¿e co¶ takiego wystarczy? Przyk³ad dla Tcl 8.5: puts [exec {*}{echo [info body]}] -- ZB
Re: Jak sobie z tym radzicie?
Author: Artur
Date: Sat, 02 Feb 2008 02:26
Date: Sat, 02 Feb 2008 02:26
25 lines
681 bytes
681 bytes
On 1 Feb., 17:20, T <t...@invalid.invalid> wrote: > Prosty przyk³ad: > > puts [exec abc] > > Problem powstanie gdy "abc" zwróci co¶ z [] itp. > Mo¿na oczywi¶cie przelecieæ output regsubem czy czym¶ podobnym ale tego > zdecydowanie chcia³bym unikn±æ ze wzglêdu na s³ab± wydajno¶æ. > W Tcl substytucja jest dokonywana tylko jeden raz. Czyli tylko na pierwszym poziomie (to co widaæ). dlatego nie ma problemu je¶li [exec abc] zwróci jekie¶ [] lub $. Jakby siê chcia³o wykonaæ nastêpnej substytucji to trzeba by by³o napisaæ puts [subst [exec abc]] albo puts [eval [exec abc]] Opisuje to dobrze http://wiki.tcl.tk/3205 Artur
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