Есть ли многострочные разделители комментария в SQL, которые являются агностиком поставщика?

Функция, которую вы передаете .map, также имеет свою собственную привязку this. Самое простое решение - передать this в качестве второго аргумента .map :

const navbarItems = this.state.navbarData.map(function(item) {
  ...
}, this);

this внутри функции будет установлено то, что вы передадите в качестве второго аргумента, что в данном случае это экземпляр компонента.

В качестве альтернативы вы можете использовать функцию стрелки вместо выражения функции, поскольку this разрешается лексически (то есть, как и любой другой переменный) внутри функций стрелки:

const navbarItems = this.state.navbarData.map(
  item => 
});

См. Также: Как получить доступ к правильному `this` внутри обратного вызова?

37
задан ojblass 8 April 2009 в 01:17
поделиться

2 ответа

C комментарии стиля являются стандартными в SQL 2003 и SQL 2008 (но не в SQL 1999 или прежде). Следующий DBMS вся поддержка C разрабатывает комментарии:

  • Informix
  • PostgreSQL
  • MySQL
  • Oracle
  • DB2
  • Sybase
  • Ingres
  • Microsoft SQL Server
  • SQLite (3.7.2 и позже)
  • Teradata и Aster

Это не каждый возможный DBMS, но это - более или менее каждый главный SQL DBMS. (Я охотно добавлю примечания о любом другом DBMS, который делает - или не делает - поддерживают комментарии стиля C.)

SQL стандартные документы 2003 года комментирует нотации таким образом:

<comment> ::= <simple comment> | <bracketed comment>

<simple comment> ::=
    <simple comment introducer> [ <comment character> ... ] <newline>

<simple comment introducer> ::=
    <minus sign> <minus sign> [ <minus sign> ... ]

<bracketed comment> ::=
    <bracketed comment introducer> <bracketed comment contents>
    <bracketed comment terminator>

<bracketed comment introducer> ::= <slash> <asterisk>

<bracketed comment terminator> ::= <asterisk> <slash>

<bracketed comment contents> ::= [ { <comment character> | <separator> }... ]

<comment character> ::= <nonquote character> | <quote>

IBM Informix Динамический Сервер (IDS или Informix) поддерживает комментарии стиля C. Это также поддерживает'{ ... }'как потенциально многострочные комментарии, кроме контекстов, где это означает что-то еще - что что-то еще являющееся СПИСКОМ или литералом МУЛЬТИМНОЖЕСТВА или НАБОРОМ. (Вы могли бы найти, что Доступ DB запутывается комментариями стиля C; это - отдельный вопрос.)

42
ответ дан 27 November 2019 в 04:53
поделиться

Стандарт ISO только определяет однострочные комментарии, начинающиеся с двух тире. Некоторые поставщики поддерживают комментарий C-стиля (т.е. мультилиния, начинающаяся/* и заканчивающаяся */), но это нельзя считать "агностиком поставщика".

8
ответ дан 27 November 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: