Portál AbcLinuxu, 3. května 2024 18:54


Dotaz: Jak vložit pomocí příkazu print dvě lomítka

28.4.2017 10:02 Jack Hokus | skóre: 34 | blog: LostHeaven
Jak vložit pomocí příkazu print dvě lomítka
Přečteno: 393×
Odpovědět | Admin
Ahoj,

snažím se v perlu napsat program, který by mi vytvořil kód pro řádek tabulky v LaTeXu. Řádek vypadá takto:

hline Po & 8 & 12 & 4 \\

Mám zavedené proměnné pro každý sloupec. Jediné s čím mám problém je vložení znaku pro konec řádku tabulky, tedy těch dvou lomítek na konci.

Samozřejmě jsem hledal a našel jsem třeba tohle: perlrebackslash speciální znaky

Něco tuším i o existenci escape sekvencí, ale přesto nevím jak toto vyřešit

Petr
http://www.jackhokus.cz/

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.4.2017 10:24 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
Odpovědět | | Sbalit | Link | Blokovat | Admin

Já se perlu snažím vyhýbat, ale nestačí prostě napsat dvakrát za sebou escape sekvenci pro backslash (což nejspíš bude "\\")?

Pro pořádek: lomítko je "/", znak "\" je backslash, nebo chcete-li mermomocí česky, zpětné lomítko.

Řešení 1× (Murry)
28.4.2017 10:28 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
Odpovědět | | Sbalit | Link | Blokovat | Admin
$ cat go.pl 
#!/usr/bin/perl
print "hline Po & 8 & 12 & 4 \\\\"
$ ./go.pl 
hline Po & 8 & 12 & 4 \\
Some of the things you can put in a Double-Quoted String
28.4.2017 11:24 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
Zdravím,

příklad, který jste uvedl fungoval, pokud jsem ho spustil jak byl, když jsem ho zkusil začlenit do svého kódu, tak to nešlo. Ale i tak moc děkuju, projdu odkazovanou dokumentaci
#!/usr/bin/perl
#use strict;
#use warnings;
#use diagnostics;

print "Který den budeme tisknout?\n";
my $den = stdin;
chomp $den;
print "$den\n";

print "Čas příchodu?\n";
my $prichod = stdin;
chomp $prichod;

print "Čas odchodu\n";
my $odchod = stdin;
chomp $odchod;

print "Počet hodin \n";
my $hodiny = stdin;

my $eof = "////";

print "$den $prichod $odchod $hodiny \n";
print "$den & $prichod & $odchod & $hodiny &$eof \r";
http://www.jackhokus.cz/
28.4.2017 11:32 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
A kde jsi to začlenil?

Já v tvém kodu nikde \\\\ znaky nevidím!!!!

Znak / není to stejné jako \ !!!
wamba avatar 28.4.2017 10:35 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
Odpovědět | | Sbalit | Link | Blokovat | Admin
třeba takto
say 'hline Po & 8 & 12 & 4 \\\\';
pokud je to one-liner, tak takto :)
perl -E 'say "hline Po & 8 & 12 & 4 \\\\\\\"'
Pro zachování duševního zdraví bych ale doporučoval něco jako
my $doublebackslash =  q{\\} x 2; 
say "hline Po & 8 & 12 & 4 $doublebackslash"
resp.
perl -E 'my $doublebackslash = q{\\\} x 2; say "hline Po & 8 & 12 & 4 $doublebackslash"'
This would have been so hard to fix when you don't know that there is in fact an easy fix.
28.4.2017 14:47 .
Rozbalit Rozbalit vše Re: Jak vložit pomocí příkazu print dvě lomítka
Jasně...
perl -E 'say "hline Po & 8 & 12 & 4 \\\\"'

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.