Elipsa (počítačové programování) - Ellipsis (computer programming) - Wikipedia
tento článek potřebuje další citace pro ověření.Září 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v programování, elipsa k označení se používá notace (.. nebo ...) rozsahy, neurčený počet argumentů nebo nadřazený adresář. Většina programovacích jazyků vyžaduje elipsa být psán jako série období; jediný (Unicode ) znak elipsy nelze použít.
Rozsahy
V některých programovací jazyky (počítaje v to Ada, Perl, Rubín, Apache Groovy, Kotlin, Haskell, a Pascal ), zkrácená elipsa se dvěma tečkami se používá k reprezentaci rozsahu hodnot daných dvěma koncovými body; například iterovat seznamem celá čísla mezi 1 a 100 včetně v Perlu:
foreach (1..100)
V Ruby ...
operátor označuje napůl otevřený rozsah, tj. který zahrnuje počáteční hodnotu, ale nikoli koncovou hodnotu.
V Rustu ..=
operátor označuje inkluzivní rozsah pro případy v zápasech a ..
operátor představuje rozsah bez koncové hodnoty.
Perl a Ruby přetížení operátor „..“ ve skalárním kontextu jako a operátor klopného obvodu - a stavový bistabilní Booleovský test, zhruba ekvivalentní "true while X ale ještě ne y", podobně jako operátor", "v sed a AWK.[1]
The Sbírka překladačů GNU má rozšíření pro jazyk C a C ++, které umožňuje rozsahy případů v příkazy switch:
přepínač(u) { případ 0 ... 0x7F : putchar(C); přestávka; případ 0x80 ... 0x7FF : putchar(0xC0 + C>>6); putchar( 0x80 + C&0x3f); přestávka; případ 0x800 ... 0xFFFF : putchar(0xE0 + C>>12); putchar( 0x80 + (C>>6)&0x3f); putchar( 0x80 + (C>>12) ); přestávka; výchozí: chyba("není podporováno!");}
Delphi / Turbo Pascal / Free Pascal:
var FilteredChars: soubor z [#0..#32,#127,'A'..'z'];var Zaškrtnuté položky: soubor z [4,10..38,241,58];
V Unifikovaný Modelovací Jazyk (UML), dvouznaková elipsa se používá k označení variabilní mohutnosti asociace. Například mohutnost 1 .. * znamená, že počet prvků agregovaných v asociaci se může pohybovat od 1 do nekonečna (použití ekvivalentní Kleene plus ).
Nadřazený adresář
V operačních systémech Windows a Unix se pro přístup k nadřazenému zařízení používá znak „..“ adresář v cesta.
Neúplný kód
V Perlu[2] a Raku[3] elipsa se třemi znaky je také známá jako operátor „yada yada yada“ a podobně jako jeho jazykový význam, slouží jako „záskok“ pro vložení kódu později.
Python3 také umožňuje použít tříznakovou elipsu jako expresní držák kódu, který se má vložit později.
Variabilní počet parametrů
C a C ++
V Programovací jazyk C., elipsa se používá k reprezentaci a variabilní počet parametrů do a funkce. Například:
int printf( konst char* formát, ... );
[4]
Výše uvedená funkce v C by pak mohla být volána s různými typy a počty parametrů, například:
printf("čísla% i% i% i", 5, 10, 15);
a
printf("vstupní řetězec% s,% f", "další řetězec", 0.5);
C99 zavedená makra s a variabilní počet argumentů.[5]
C ++ 11 zahrnoval preprocesor C99,[6] a také představil šablony s a variabilní počet argumentů.[7]
Jáva
Od verze 1.5 Jáva přijala tuto funkci „varargs“. Například:
veřejnost int func(int počet, Tětiva... struny)
PHP
Podporuje PHP 5.6[8] použití elipsy k explicitní definici variadická funkce, kde ...
before an argument in a function definition means that arguments from that point on will be collected into an array. Například:
funkce variadic_function($ a, $ b, ...$ ostatní){ vrátit se $ ostatní;}var_dump(variadic_function(1, 2, 3, 4, 5));
Produkuje tento výstup:
pole(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) }
Více rozměrů
v Krajta, zejména v NumPy, elipsa se používá ke krájení libovolného počtu dimenzí pro vysokorozměrné pole:[9]
>>> import numpy tak jako np>>> t = np.náhodný.rand(2, 3, 4, 5)>>> t[..., 0].tvar # vyberte 1. prvek z poslední dimenze, zkopírujte zbytek(2, 3, 4)>>> t[0, ...].tvar # vyberte 1. prvek z první dimenze, zkopírujte zbytek(3, 4, 5)
Další sémantika
v MATLAB, se k označení používá elipsa se třemi znaky pokračování řádku,[10] vytváření posloupnosti řádků
x = [1 2 3 ...
4 5 6 ];
sémanticky ekvivalentní jednomu řádku
x = [1 2 3 4 5 6];
V Raku skutečný Unicode Znak se třemi tečkami (U + 2026) (…) slouží jako typ značky ve formátovacím řetězci.[11]
Reference
- ^ perlop - perldoc.perl.org
- ^ https://perldoc.perl.org/perlsyn.html#The-Ellipsis-Statement
- ^ https://doc.perl6.org/language/operators#listop_...
- ^ http://www.cplusplus.com/reference/cstdio/printf/
- ^ Variadic Macros - Using the GNU Compiler Collection (GCC)
- ^ Pracovní pracovní změny pro synchronizaci preprocesoru C99 - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
- ^ „Pracovní koncept, standard pro programovací jazyk C ++“ (PDF).: 14.5.3 Variadic šablony
- ^ https://wiki.php.net/rfc/variadics
- ^ http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
- ^ Mathworks.com
- ^ Exegeze 7: Formáty - perl6 Archivováno 15.06.2011 na Wayback Machine[self-publikoval zdroj? ]