AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

All perguntas(coding)

Martin Hope
byl
Asked: 2025-04-22 05:39:45 +0800 CST

Existe uma alternativa para o especificador err em uma instrução Fortran read()?

  • 6

Neste código

read(unit,'I0',err=100) my_integer
100 error_stop "Something went wrong."

o especificador err informa ao programa para ir para a instrução rotulada 100se algo deu errado na leitura de um inteiro do arquivo com identificador de unidade unit.

Existe alguma alternativa para esse tipo de tratamento de erros? Conheço algumas soluções alternativas, como usar inquirepara descobrir se um arquivo existe ou outras maneiras de detectar o fim de um arquivo. Mas, para um caso como este, em que tento ler um inteiro e, por algum motivo, não consigo, existe outra maneira de detectar esse erro?

Pergunto isso porque parece um tanto obsoleto usar rótulos de instruções. Talvez eu esteja apenas presumindo isso porque gotoinstruções são consideradas obsoletas. Por favor, corrija-me se eu estiver errado.

error-handling
  • 1 respostas
  • 43 Views
Martin Hope
Seva Golovanov
Asked: 2025-04-22 05:31:32 +0800 CST

Declare um snippet dentro de um componente sem que ele seja passado implicitamente ao componente como um prop

  • 5

O tutorial do Svelte demonstra como declarar um trecho de linha de tabela:

<tbody>
    {#snippet monkey()}...{/snippet}

    {@render monkey()}
</tbody>

Até aqui, tudo bem. Faz sentido colocar um trecho perto de onde ele está sendo usado — um trecho de linha de tabela realmente pertence a tbody.

Também quero reutilizar um trecho de linha de tabela. Só que eu uso a biblioteca de componentes Flowbite Svelte. Então o código fica assim:

<Table>
    ...
    <TableBody>
        {#snippet row(row: UserProductListEntry)}
            {row.product.title}
        {/snippet}

Isso funciona em tempo de execução, mas tem problemas porque o snippet se torna implicitamente a prop do TableBody:

  1. Estou recebendo este erro do tipo: Erro IDE Este é um erro do plugin IDEA Svelte? Não há nenhuma referência, por exemplo, ao ESLint. Deveria ser um aviso e/ou algo passível de supressão? Não encontrei nada parecido no rastreador de problemas da JetBrains.
  2. (Menos importante) Neste caso, não pretendo passar o snippet para TableBody como uma propriedade. E se por acaso esperar um snippet com o mesmo nome?

Então a questão é: existe uma maneira de impedir que esse trecho se torne uma propriedade implícita? Ou pelo menos lidar com o problema 1 de alguma forma, sem mover o trecho para fora do TableBody e da Table?

svelte
  • 1 respostas
  • 21 Views
Martin Hope
andrey
Asked: 2025-04-22 04:34:31 +0800 CST

As linhas da grade vertical do Matplotlib não correspondem aos pontos

  • 6

Você poderia explicar por que as linhas de grade verticais não correspondem aos pontos?

insira a descrição da imagem aqui

Aqui estão meus dados para o gráfico:

{datetime.datetime(2025, 4, 15, 19, 23, 50, 658000, tzinfo=datetime.timezone.utc): 68,0, datetime.datetime(2025, 4, 16, 19, 31, 1, 367000, tzinfo=datetime.timezone.utc): 72,0, datetime.datetime(2025, 4, 17, 19, 34, 21, 507000, tzinfo=datetime.timezone.utc): 75,0, datetime.datetime(2025, 4, 18, 19, 50, 28, 446000, tzinfo=datetime.timezone.utc): 80,0, datetime.datetime(2025, 4, 19, 19, 57, 15, 393000, tzinfo=datetime.timezone.utc): 78,0, datetime.datetime(2025, 4, 20, 19, 57, 49, 60000, tzinfo=datetime.timezone.utc): 77,0, datetime.datetime(2025, 4, 21, 20, 28, 51, 127710, tzinfo=datetime.timezone.utc): 73,0}

E aqui está meu código:

    fig, ax = plt.subplots(figsize=(12, 6))

    ax.plot(df['Дата'], df['Вес'], marker='o', linestyle='-', color='royalblue', label='Вес')

    ax.scatter(df['Дата'], df['Вес'], color='red', zorder=5)

    ax.set_title('График изменения веса по дням', fontsize=16)
    ax.set_xlabel('Дата', fontsize=12)
    ax.set_ylabel('Вес (кг)', fontsize=12)
    ax.xaxis.set_major_locator(mdates.AutoDateLocator())  # Раз в день

    ax.xaxis.set_major_formatter(mdates.DateFormatter('%d.%m.%Y'))

    plt.setp(ax.xaxis.get_majorticklabels(), rotation=45, ha="right")

    ax.grid(True, linestyle='--', alpha=0.6)

    plt.tight_layout()
python
  • 1 respostas
  • 57 Views
Martin Hope
White Owl
Asked: 2025-04-22 04:32:03 +0800 CST

Obtenha o máximo de enum em C puro

  • 11

Supondo que eu tenha um código como este:

#include <stdio.h>

// A numbered enum with gaps
#define COLORS(X)  \
    X(RED,    10)  \
    X(GREEN,  2)   \
    X(BLUE,   5)   \
    X(YELLOW, 7)

typedef enum {
#define XX(N, M) CLR_##N = M,
    COLORS(XX)
#undef XX
} colors_e;

// This define must have the highest value of enum
#define MAX_COLOR_CODE 10 

typedef struct {
    char *language;
    // the define is needed for array definition inside a struct
    char *colors[MAX_COLOR_CODE + 1];
} color_names_t;

// The array of struct is selectively filled at compile time, hence use of enum for indexing
color_names_t color_names[] = {
    {"en", {[CLR_RED] = "red", [CLR_BLUE] = "blue", [CLR_GREEN] = "green"}},
    {"du", {[CLR_BLUE] = "blau", [CLR_YELLOW] = "gelb", [CLR_RED] = "rot"}},
};


/// ---- a sample usage of the defined array of structs

#define ARR_SIZE(X) (sizeof(X)/sizeof(X[0]))

int main() {
    for(int lidx=0; lidx<ARR_SIZE(color_names); lidx++) {
        printf("Language: %s\n", color_names[lidx].language);

        for(int idx=0; idx<ARR_SIZE(color_names[0].colors); idx++) {
            if(color_names[lidx].colors[idx])
                printf("\t%s\n", color_names[lidx].colors[idx]);
        }
    }

    return 0;
}

Existe uma maneira de calcular automaticamente uma MAX_COLOR_CODEdefinição?

c
  • 4 respostas
  • 174 Views
Martin Hope
RotundChinchilla
Asked: 2025-04-22 04:30:54 +0800 CST

No C# 7.3, é possível escrever um atributo de parâmetro de método que modifica o argumento antes da execução do corpo do método?

  • 6

Descobri que estou regularmente Trim()inserindo espaços em branco nos valores de string passados ​​para minhas funções. Isso geralmente se parece com:

public void MyFunction(string param) {
    if (param != null) { // Null check is necessary since we are in C# 7.3.
        param = param.Trim();
    }

    // ...now we can work with "param" safely.
}

Sei que esta verificação de nulos e corte poderia ser resumida em uma única linha, mas acho que seria possível simplificar ainda mais usando um atributo de parâmetro. É possível decorar um parâmetro com um atributo para lidar com essa verificação e corte de nulos fora do conteúdo do método?

Exemplo:

public void MyFunction([Trim] string param) {
    // ...[Trim] replaces "param" with a trimmed version, if "param" is not null.

    // ...now we can work with "param" safely.
}

public void MyOtherFunction(string paramOne, [Trim] string paramTwo) {
    // "paramOne" remains untrimmed, "paramTwo" is trimmed.
}

// How would one write this hypothetical TrimAttribute in C# 7.3? Is it even possible?

Observações:

  • Estou começando a suspeitar que isso pode não ser possível, pelo menos não sem algumas dependências externas. Por exemplo, sei que o ASP.NET MVC oferece ActionFilterAttributeacesso aos parâmetros de métodos dentro de uma ActionExecutingContextclasse. Mas ActionFilterAttributeele só pode decorar uma classe ou método, não um parâmetro. Além disso, poder modificar livremente um argumento com um atributo pode abrir muitas oportunidades para abusos por parte dos desenvolvedores, então é compreensível que tal coisa não seja possível.
c#
  • 1 respostas
  • 84 Views
Martin Hope
TheChamp
Asked: 2025-04-22 04:24:28 +0800 CST

A filtragem bilinear da CPU produz os mesmos resultados que a amostragem pontual

  • 5

Estou adicionando filtragem bilinear ao meu software de renderização em C++. Para validar se funciona, estou tentando reduzir a escala de uma imagem de teste.

Aqui está a imagem de teste 1024x1024:

Imagem nativa

Quando realizo o redimensionamento da amostragem de pontos, obtenho isto:

Imagem redimensionada de amostragem de pontos

Quando realizo o redimensionamento bilinear, infelizmente obtenho quase o mesmo resultado com alias. Por quê??? :

Imagem redimensionada de amostragem bilinear

Veja como o redimensionamento simples é realizado:

    const Graphics::Texture::SharedRGBAImagePtr input_image = Texture::Helper::createRGBAImage("D:\\resizing_test\\input_image.png");

    const uint32_t destWidth = input_image->getWidth() / 16;
    const uint32_t destHeight = input_image->getHeight() / 16;
    Texture::RGB32FImage* resizedImage = new Texture::RGB32FImage(destWidth, destHeight);

    for (uint32_t j = 0u; j < destHeight; ++j)
    {
        for (uint32_t i = 0u; i < destWidth; ++i)
        {
            const float xnorm = (float)i / (float)destWidth;
            const float ynorm = (float)j / (float)destHeight;

    #if 1
            // Point sampling.
            const float xpointSrcFloat = xnorm * ((nbFloat32)input_image->getWidth() - 1.0f);
            const float ypointSrcFloat = ynorm * ((nbFloat32)input_image->getHeight() - 1.0f);

            const Graphics::RGBAFColor color = input_image->getNormalizedPixelFromPosition(Math::Uvec2((uint32_t)xpointSrcFloat, (uint32_t)ypointSrcFloat));
            resizedImage->setPixelFromPosition(Graphics::RGBFColor(color.x, color.y, color.z), Math::Uvec2(i, j));

    #else
            // Bilinear sampling.
            const Graphics::RGBAFColor color = input_image->getNormalizedPixelFromRatio(Math::Vec2(xnorm, ynorm));
            resizedImage->setPixelFromPosition(Graphics::RGBFColor(color.x, color.y, color.z), Math::Uvec2(i, j));
    #endif
        }
    }

    resizedImage->save("D:\\resizing_test\\ouput_image.png");

A definição de getNormalizedPixelFromPosition .

template <typename T>
inline T TImage<T>::getNormalizedPixelFromPosition(const Math::Uvec2& pos) const
{
    const float div = isFloatingPointImage() ? 1.0f : 255.0f;
    return getPixelFromPosition(pos) / div;
}

A definição de getNormalizedPixelFromRatio . Isso realiza filtragem bilinear :

template <typename T>
inline T TImage<T>::getNormalizedPixelFromRatio(const Math::Vec2& ratio) const
{
    const uint32_t widthMinusOne = getWidth() - 1u;
    const uint32_t heightMinusOne = getHeight() - 1u;

    // The sampling weights.
    const Math::Vec2 C00Float = Math::Vec2(ratio.x * (float)getWidth(), ratio.y * (float)getHeight());
    const Math::Vec2 weights = glm::fract(C00Float);

    // The sampling coordinates.
    const Math::Uvec2 C00 = Math::Uvec2(
        Math::clamp((uint32_t)C00Float.x, 0u, widthMinusOne),
        Math::clamp((uint32_t)C00Float.y, 0u, heightMinusOne));

    const Math::Uvec2 C10 = Math::Uvec2(
        Math::clamp(C00.x + 1u, 0u, widthMinusOne),
        Math::clamp(C00.y, 0u, heightMinusOne));

    const Math::Uvec2 C01 = Math::Uvec2(
        Math::clamp(C00.x, 0u, widthMinusOne),
        Math::clamp(C00.y + 1u, 0u, heightMinusOne));

    const Math::Uvec2 C11 = Math::Uvec2(
        Math::clamp(C00.x + 1u, 0u, widthMinusOne),
        Math::clamp(C00.y + 1u, 0u, heightMinusOne));

    // The sampling values.
    const T V00 = getNormalizedPixelFromPosition(C00);
    const T V10 = getNormalizedPixelFromPosition(C10);
    const T V01 = getNormalizedPixelFromPosition(C01);
    const T V11 = getNormalizedPixelFromPosition(C11);

    // Perform the interpolation.
    const auto lerp = [](T t1, T t2, float t3)  { return t1 + (t2 - t1) * t3; };

    const T p0 = lerp(V00, V01, weights.y);
    const T p1 = lerp(V10, V11, weights.y);

    return lerp(p0, p1, weights.x);
}

O que estou fazendo errado?

Não acho que tenha relação alguma, mas nunca se sabe. Estou usando o OpenCV para armazenar e gerenciar minhas imagens. Quando uso o redimensionamento nativo, ele também dá os mesmos resultados para amostragem pontual :O

    inline void BilinearScaling(const RGB32FImage& src, RGB32FImage& dest)
    {
        cv::resize(src.m_image,
            dest.m_image,
            cv::Size(dest.getWidth(), dest.getHeight()),
            0.0,
            0.0,
            cv::InterpolationFlags::INTER_LINEAR);
    }

De qualquer forma, isso não ajudará se funcionar, porque preciso interpolar manualmente . Meu objetivo final é interpolar um conjunto de 8 coeficientes harmônicos esféricos, não uma cor RGB ou RGBA.

c++
  • 1 respostas
  • 77 Views
Martin Hope
Rhythm
Asked: 2025-04-22 04:17:10 +0800 CST

Como remover espaços em branco da saída CSV usando SAS, onde cada valor é colocado entre aspas duplas?

  • 5

Consigo gerar um arquivo CSV usando SAS (instrução de arquivo) com cada valor entre aspas duplas, mas não consigo remover os espaços vazios dos valores ausentes. A seguir, o código com um exemplo de entrada:

    data input;
     STUDY="XYZ"; INDATE="03-DEC-2024"; INTIME=""; output;
     STUDY="XYZ"; INDATE="04-DEC-2024"; INTIME=""; output;
     STUDY="XYZ"; INDATE="05-DEC-2024"; INTIME=""; output;
     STUDY="XYZ"; INDATE="06-DEC-2024"; INTIME=""; output;
    run;
    
    data _null_;
    file "&outpath.\test.csv" dsd dlm=",";
    set input;
    if _n_=1 then put '"STUDY","INDATE","INTIME"';
    put (STUDY INDATE INTIME) (~);
    run;

Saída que estou obtendo:

insira a descrição da imagem aqui

Saída que eu quero:

insira a descrição da imagem aqui

Agradeço a ajuda!

sas
  • 1 respostas
  • 42 Views
Martin Hope
Pavan Dittakavi
Asked: 2025-04-22 03:58:23 +0800 CST

No Linux, como gerar libOpenXLSX.so em vez de libOpenXLSX.a

  • 4

Estou tentando gerar um arquivo de objeto compartilhado do repositório Git do OpenXLSX.

Nesta página, https://github.com/troldal/OpenXLSX :

O OpenXLSX pode gerar uma biblioteca compartilhada ou uma biblioteca estática. Por padrão, ele produzirá uma biblioteca compartilhada, mas você pode alterar isso no arquivo CMakeLists.txt do OpenXLSX.

Usei as configurações e comandos padrão, mas estou recebendo um libOpenXLSX.aarquivo /usr/local/lib64em vez de libOpenXLSX.so.

mkdir build
cd build
cmake ..
cmake --build . --target OpenXLSX --config Release
cmake --install .

Tentando entender qual é o sinalizador/configurações que podem gerar o arquivo .so

Por favor, deixe-me saber o que posso estar perdendo?

c++
  • 1 respostas
  • 96 Views
Martin Hope
Ralf_Reddings
Asked: 2025-04-22 03:33:57 +0800 CST

'usando:' e outros métodos não funcionam com start-threadJob para carregar objetos na sessão de trabalho

  • 7

executar o seguinte retorna um erro:

$job=Start-ThreadJob -name maya6 -InitializationScript {. $using:profile} -ScriptBlock {ichild}   #this is an alias defined in the profile

erro:

InvalidOperation: A Using variable cannot be retrieved. A Using variable can be used only with Invoke-Command, Start-Job, or InlineScript in the script workflow. When it is used with Invoke-Command, the Using variable is valid only if the script block is invoked on a remote computer.
ichild: The term 'ichild' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Eu também tentei:

$job=start-threadJob {. $args ; ichild} -ArgumentList $profile      #ichild is an alias defined in my profile

e quando eu uso receive-job $jobele congela meu prompt e continuo recebendo o seguinte erro:

Oops, something went wrong.  
Please report this bug with ALL the details below, including both the 'Environment' and 'Exception' sections.  
Please report on GitHub: https://github.com/PowerShell/PSReadLine/issues/new?template=Bug_Report.yaml  
Thank you!  
  
### Environment  
PSReadLine: 2.3.4  
PowerShell: 7.4.6  
OS: Microsoft Windows 10.0.26100  
BufferWidth: 170  
BufferHeight: 21  
  
Last 49 Keys:

Pensei usingque fosse especificamente para esse commandlet...

estou no pwsh7.4

powershell
  • 1 respostas
  • 44 Views
Martin Hope
ABeard89
Asked: 2025-04-22 03:23:23 +0800 CST

Usando Groovydoc para documentar uma variável global definida externamente

  • 5

Estou escrevendo um trecho de código Groovy que será executado dentro do contexto de um aplicativo específico (especificamente NoMagic/Cameo Enterprise Architecture).

De acordo com a documentação, eles fornecem certos objetos predefinidos que podem ser referenciados como variáveis ​​globais dentro do meu script Groovy.

Meu problema é que meu IDE (IntelliJ IDEA) não reconhece esses objetos e, portanto, não consegue fornecer sugestões de conclusão de código e também não consegue resolver métodos corretamente ao referenciar essas variáveis ​​globais.

Gostaria de saber se existe uma maneira de documentar a existência dessas variáveis, para que o IntelliJ as conheça. Talvez haja uma maneira de declarar isso com o Groovydoc?

// I would like to declare that the global variable 'ALH' will be
// defined at runtime as a specific type.

// Perhaps something like the following?
/**
 * @RuntimeValue
 * com.nomagic.magicdraw.simulation.utils.ALH ALH
 */

import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement

static void do_stuff(NamedElement e) {
    // Do things...
}

NamedElement my_element = ALH.getCaller() // IntelliJ cannot resolve 'ALH'

do_stuff(my_element)
intellij-idea
  • 1 respostas
  • 25 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve