Erros, bugs, perguntas - página 2870

 
Roman:

O que é que isto tem a ver com os modelos?
Se a sintaxe de utilização não for para um modelo, neste caso.

Os Desenvolvedores colocaram a descrição do nome tipográfico com um exemplo nesta secção. Leia até ao fim e encontrará este parágrafo e este exemplo

 
A100:

Qual é a diferença entre (1) e (2) ? Caros programadores - talvez Roman tenha razão e agora o nome datilografar retorna tipo?

Penso que isto está mais próximo de uma macro

 
A100:

Os Desenvolvedores colocaram uma descrição do nome tipográfico com um exemplo nesta secção. Leia até ao fim e encontrará este parágrafo e este exemplo

Como vê, essa secção da documentação é sobre os modelos.
Os templates não têm nada a ver com estes exemplos.
nome datilografar é o mesmo que ter tamanho de

#define   A '+'

void OnStart()
{
   Print(sizeof(A));
   Print(typename(A));
   Print(sizeof("string"));
   Print(typename("string"));
}
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  2
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  ushort
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  12
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  string
 
Roman:

Compreender que essa secção da documentação é sobre modelos.
Os modelos não têm nada a ver com estes exemplos.
nome datilografar é como ter tamanho de

A documentação diz:Para criar formas genéricas de lidar com diferentes tipos de dados, a palavra-chavenome tipográfico deveser usadapara obter o tipo do argumento como uma corda.

Onde está a palavra nome datilografia nesta frase? Não o vejo? Sim... O exemplo do modelo. Espera que os Desenvolvedores lhe dêem exemplos para todas as ocasiões?

 
A100:

A documentação diz:Para criar formas universais de trabalhar com diferentes tipos de dados, deve usar a palavra-chave nome tipográficopara obter o tipo do argumento como um fio.

Onde está a palavra nome datilografia nesta frase? Não o vejo? Sim... O exemplo do modelo. Espera que os Desenvolvedores lhe dêem exemplos para todas as ocasiões?

Não criamos nada neste caso, apenas obtemos os seus nomes a partir dos tipos.
Fique longe dos modelos. E documentação para o modelo.
Vê o resultado da impressão? De que mais precisa?
Sinceramente, não compreendo o seu mal-entendido.

 
Roman:

Neste caso, não criamos nada, obtemos os seus nomes a partir dos tipos.
Fique longe dos modelos. E a documentação para o modelo.
Vê o resultado da impressão? De que mais precisa?

Vê o resultado desta impressão?

void OnStart()
{
    Print("ushort");
}

Resultado: ushort

Então, "ushort" é um tipo de "ushort"? E esta entrada é normal, de acordo consigo?

void OnStart()
{
    "ushort" ch = '+';
}
Não, não é um tipo, é um fio. A impressão não imprime tipos - PrintFormat não tem tal formato. Imprime cordas, números, símbolos, mas não tipos
 
A100:

Consegue ver o resultado desta impressão?

Resultado: ushort

Então, "ushort" é um tipo de "ushort"? E uma tal entrada é normal, de acordo consigo?

)) Surpreende-me.

Passou um fio literalmente para a impressora e recebeu-o.
Para obter um nome do tipo usa-se o nome da palavra-chave datilografada("ushort")
obtém-se o nome do tipo string

passa-se o nome datilografada(string), obtém-se a mesma coisa.

Na realidade é um erro na documentação que não descreve como lidar com a palavra-chavenome datilográfica.
Existe uma descrição para o tamanho e para onome datilografia apenas para padrões.
Embora tenha dado um exemplo acima, onome do dactilógrafo recebe o nome do tipo, tal como osizeof recebe o tamanho .

 
Roman:

)))) surpreende-me.

Passou um fio literalmente para a impressora, conseguiu-o.

Assim, também passa um fio literal para imprimir

void OnStart()
{
    Print(typename('+'));
}

Resultado: ushort

Se pensa o contrário depois de todas as explicações e do estudo da documentação, esse é o seu problema:

void OnStart()
{
    Print(short); //Error - потому что принт типы не печатает
}
 
A100:

Assim, passou um fio literalmente à impressão

Resultado: ushort

Se pensa o contrário depois de ler todas as explicações e documentação, o problema é seu.

Afirmei que devolve uma corda?
Foi você que ficou viciado em corda e impressão()
E a saída não será uma corda literal, mas o tipo inteiro de carácter ushort.
Seja como for, não é o meu problema na sua cognição.

 
Roman:

A saída não será uma corda literal, mas sim o tipo inteiro de caracteres ushort.

A saída será exactamente literalmente de corda. Aqui - encontrada prova directa - não há aqui nenhuma impressão:

int f()
{
    return typename('+'); //warning: implicit conversion from 'string' to 'number'
}
Agora tente provar o oposto - também sem uma impressão! Naturalmente, prová-lo com um exemplo, não com fantasias como "não é o que diz na documentação - eu conheço melhor".