Pytanie Trzy nawiasy klamrowe w kodzie źródłowym php


Właśnie pobrałem kompletny kod źródłowy PHP z php.net (PHP 5.4.0 [tar.bz2]). Często używają trzech nawiasów klamrowych, jak podano poniżej (Poniższy fragment kodu został wyodrębniony z postaci ext / ctype / ctype.c.)

/* {{{ proto bool ctype_digit(mixed c)
   Checks for numeric character(s) */
 static PHP_FUNCTION(ctype_digit)
 {
  CTYPE(isdigit);
 }
/* }}} */

Czy ktoś ma pomysł, dlaczego używają tych trzech nawiasów klamrowych?


21
2018-03-15 06:19


pochodzenie


Są one używane przez niektórych redaktorów do "składania" bloków kodu, dzięki czemu widoczny jest tylko tekst w linii komentarza, a rzeczywisty kod jest "zagięty". - Marc B
Nie sądzę, że tylko ze względu na składanie, pozwalają dodać trzy nawiasy klamrowe. - Habeeb Perwad
@HabeebPerwad Jest w blokach komentarzy - mogą "pozwolić" na wszystko, co tylko zechcą. :) - Narf
Zobacz też: github.com/php/php-src/blob/master/CODING_STANDARDS#L215 - Jari Keinänen


Odpowiedzi:


Oni są markery vim fold, ułatwiają one zwinięcie i rozwinięcie tekstu pomiędzy potrójnymi nawiasami klamrowymi w vim, w pokazanym przykładzie naprzemiennie:

...

/* {{{ proto bool ctype_digit(mixed c)
   Checks for numeric character(s) */
static PHP_FUNCTION(ctype_digit)
{
    CTYPE(isdigit);
}
/* }}} */

...

i tylko

...

/* {{{ proto bool ctype_digit(mixed c)

...

Jeśli spojrzeć na koniec pliku, w którym je znajdziesz, często znajdziesz taki blok:

/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * End:
 * vim600: sw=4 ts=4 fdm=marker
 * vim<600: sw=4 ts=4
 */

Co jest kolejnym bardziej oczywistym wskaźnikiem, że te komentarze odnoszą się do vima.


27
2018-03-15 09:03



I jestem wielkim fanem składania Teraz! - Habeeb Perwad