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
J. Chapman
Asked: 2025-04-07 09:56:46 +0800 CST

Não é possível alterar o estilo de exibição com JavaScript

  • 7

Primeira vez que posto uma pergunta sobre programação aqui. Estou quase terminando um jogo em JS/HTML/CSS e vou publicá-lo no Steam em breve. Resumindo, me deparei com um problema: precisei mover todos os estilos inline do HTML para um arquivo CSS externo. Ao fazer isso, meu código de trabalho parece ter quebrado. Resumi tudo a esta pergunta: por que o botão no código abaixo não exibe a div? Com ​​todos os estilos movidos para um arquivo CSS externo, como posso fazer com que linhas em JavaScript como essa document.getElementById("id").style.display = ""funcionem com ajustes mínimos nas minhas milhares de linhas de código?

CSS :

#testID {
    display: none;
}

HTML :

<div id="testID">
    1234
</div>
<div>
    <button onclick="showFn()">Show</button>
</div>

Javascript :

function showFn() {
  document.getElementById("testID").style.display = ""
}
javascript
  • 3 respostas
  • 120 Views
Martin Hope
R_stats
Asked: 2025-04-07 09:40:46 +0800 CST

números no pacote do carro gráfico QQ em r

  • 7

Plotei alguns gráficos QQ com o pacote car qqPlot {car}. Parece bom, mas não entendi o que são esses dois números dentro do gráfico. Por exemplo, plotei 72 valores e há dois números: 59 e 38. O que esses números estão tentando me dizer? O resumo dos dados do Fivenum é 21,20 26,55 30,50 35,35 47,60, então esses números não são nenhum destes. Veja a captura de tela em anexo. Agradeço antecipadamente!

insira a descrição da imagem aqui

  • 2 respostas
  • 63 Views
Martin Hope
GH KIM
Asked: 2025-04-07 09:38:11 +0800 CST

Usando uma lista de valores para selecionar linhas do Polars DataFrame

  • 6

Tenho um Polars DataFrame abaixo:

import polars as pl
df = pl.DataFrame({"a":[1, 2, 3], "b":[4, 3, 2]})

>>> df
  a    b
i64  i64
  1    4
  2    3
  3    2

Posso subdividir com base em um valor específico:

x = df[df["a"] == 3]

>>> x
  a    b
i64  i64
  3    2

Mas como posso subdividir com base em uma lista de valores? - algo assim:

list_of_values = [1, 3]
y = df[df["a"] in list_of_values]

Obter:

  a    b
i64  i64
  1    4
  3    2
python
  • 1 respostas
  • 39 Views
Martin Hope
Derek
Asked: 2025-04-07 09:34:08 +0800 CST

Conceitos e "deduzindo isso"

  • 8

Estou explorando o recurso "deduzindo isso" e estou com dificuldades para entender como usá-lo corretamente com conceitos. Aqui está o que eu tenho:

#include <concepts>

struct X {
  X() = default;
  X& operator+=(int x) { value += x; return *this; }
  int value = 0;
};

struct Y {
  Y() = default;
  template<typename Self> Self& operator+=(this Self& self, int x) {
    self.value += x; return self;
  }
  int value = 0;
};

template<typename T, typename U>
concept has_addition_assignment =
  std::is_lvalue_reference_v<T>
  && requires(T a, U b) { { a += b } -> std::same_as<T>; };

static_assert(has_addition_assignment<X&,int>); // OK
static_assert(!has_addition_assignment<const X&,int>); // OK

static_assert(has_addition_assignment<Y&,int>); // OK
// static_assert(!has_addition_assignment<const Y&,int>); // Fails

int
main()
{
  // Not allowed.
  //  const Y y;
  //  y += 1;
}

O conceito é tentar garantir que X x; x += 1;funcione, mas const X x; x += 1não funciona. Isso funciona para, Xmas não funciona Y, apesar de const Y y; y += 1;falhar.

Acredito que meu conceito está escrito incorretamente ou talvez +=não Yexpresse minha intenção corretamente. Qual é a melhor maneira de verificar se não é aceitável adicionar algo a um objeto constante ao usar deducing this?

c++
  • 1 respostas
  • 76 Views
Martin Hope
Lerpmcgerk
Asked: 2025-04-07 09:26:36 +0800 CST

Alterar nomes de parâmetros gerados automaticamente para eventos C#

  • 5

Estou tentando criar um evento, mas gostaria de não ter os nomes padrão (arg1, arg2, etc.)

Como posso definir nomes padrão para que, em vez de algo

TypeName_MethodName(int arg1, string arg2) 

Posso obter algo assim:

TypeName_MethodName(int age, string name)?

Editar: código (não tenho certeza do porquê isso importa para algo assim), não ligue para meu código provavelmente ineficiente, não é por isso que estamos aqui:

namespace Test
{
    public static class People
    {
        public static event Action<int, string> OnPersonAdded = (age, name) => { };

        public static void AddPerson(int age, string name)
        {
            if (!PeopleByAge.TryAdd(age, [name]))
            {
                PeopleByAge[age].Add(name);
            }

            OnPersonAdded(age, name);
        }

        public static Dictionary<int, List<string>> PeopleByAge = [];
    }

    public static class Program
    {
        public static void Main(string[] args)
        {
            People.OnPersonAdded += People_OnPersonAdded;
            People.AddPerson(int.Parse(args[0]), args[1]);
        }

        private static void People_OnPersonAdded(int arg1, string arg2)
        {
            Console.WriteLine($"Add person {arg2}, aged {arg1}.");
        }
    }
}
c#
  • 1 respostas
  • 47 Views
Martin Hope
GH KIM
Asked: 2025-04-07 09:04:25 +0800 CST

Renomeando nomes de colunas em Polars

  • 6

Quero alterar os rótulos das colunas de um Polars DataFrame de

['#a', '#b', '#c', '#d']

para

['a', 'b', 'c', 'd']

python
  • 2 respostas
  • 62 Views
Martin Hope
simeondermaats
Asked: 2025-04-07 06:25:40 +0800 CST

Por que esse objeto de característica não implementa Send, apesar de exigir `+ Sync`?

  • 5

Estou escrevendo um sintetizador de áudio e quero usar a cpalcaixa para gerar áudio. Isso acontece gerando uma thread de saída, cuja função de "geração de dados" precisa implementar FnMut(&mut [T], &OutputCallbackInfo) + Send + 'static. Isso OutputCallbackInfoé irrelevante para a questão em questão.

Para gerar o áudio, tenho uma AudioPipelineestrutura:

pub struct AudioPipeline {
    producer: Box<dyn AudioProducer + Sync>,
    modifiers: Vec<Box<dyn AudioModifier + Sync>>,
}

onde AudioProducere AudioModifiersão algumas outras características. Em main, eu crio um pipeline e o envio para a thread gerada usando um fechamento móvel:

let pipeline = AudioPipeline::new(Box::new(sine), vec![Box::new(asdr)]);
let stream = device
    .build_output_stream(
        ...
        move |data: &mut [u8], callback_info: &cpal::OutputCallbackInfo| {
            ...
            pipeline.recv();
            ...
        },
        ...
    );

Aqui pipeline.recv()está um método AudioPipelineque leva &mut self.

O código não compila, retornando este erro:

(dyn AudioProducer + Sync + 'static) cannot be sent between threads safely
the trait bound Unique<(dyn AudioProducer + Sync + 'static)>: Send is not satisfied
required for Unique<(dyn AudioProducer + Sync + 'static)> to implement Send

Imagino que o problema tenha algo a ver com o uso de Box? Mas acho esse erro um pouco difícil de entender: afinal, a documentação diz explicitamente "[ Unique<T>] implementa Send/ Syncse Tfor Send/ Sync." Certamente, ao exigir que o dyn AudioProduceris também seja Sync, ele definitivamente deveria ser Send, certo? Provavelmente estou perdendo alguma sutileza de segurança de thread aqui.

rust
  • 1 respostas
  • 45 Views
Martin Hope
ALICEZzz
Asked: 2025-04-07 06:15:17 +0800 CST

Por que podemos usar arrays de arrays em C?

  • 7

Por que podemos usar arrays de arrays em C? Essa foi a minha pergunta quando abri a linguagem C padrão (C17).

Encontrei algo interessante (6.2.5 "Tipos" /20):

Qualquer número de tipos derivados pode ser construído a partir dos tipos objeto e função, como segue: — Um tipo array descreve um conjunto não vazio de objetos alocados contiguamente com um tipo de objeto membro específico, chamado de tipo elemento. O tipo elemento deve ser completo sempre que o tipo array for especificado. Tipos array são caracterizados por seu tipo elemento e pelo número de elementos no array. Um tipo array é dito ser derivado de seu tipo elemento, e se seu tipo elemento for T, o tipo array é algumas vezes chamado de "array de T". A construção de um tipo array a partir de um tipo elemento é chamada de "derivação de tipo array".

Em C, temos tipos de objeto, tipos de função e tipos incompletos. Os elementos de um array têm um tipo de objeto, não um tipo derivado, e pensei: "E agora?". E então encontrei isto (6.7.6.2/1 e 6.7.6.2/3):

Além dos qualificadores de tipo opcionais e da palavra-chave static, [ e ] podem delimitar uma expressão ou*. Se delimitarem uma expressão (que especifica o tamanho de um array), a expressão deverá ser do tipo inteiro. Se a expressão for uma expressão constante, deverá ter um valor maior que zero. O tipo de elemento não deverá ser um tipo incompleto ou de função. Os qualificadores de tipo opcionais e a palavra-chave static deverão aparecer apenas na declaração de um parâmetro de função com um tipo array e, mesmo assim, apenas na derivação de tipo de array mais externa.

  • Se, na declaração “T D1”, D1 tiver uma das formas: D [type-qualifier-listopt assignment-expressionopt] D [type-qualifier-listopt assignment-expression] D [type-qualifier-list static assignment-expression] D [type-qualifier-listopt] e o tipo especificado para ident na declaração “TD” for “derived-declarator-type-list T”, então o tipo especificado para ident será “derived-declarator-type-list array of T”.144) (Consulte 6.7.6.3 para o significado dos qualificadores de tipo opcionais e da palavra-chave static.)

Em 6.7.6.2/1, entendi que o tipo de elemento não pode ser um tipo de função nem um tipo incompleto, mas depois entendi que um tipo de elemento pode ser um tipo de objeto e um tipo derivado. Em 6.7.6.2/3, se o tipo for derivado, podemos criar um array de tipo derivado. E, na minha opinião, array é um tipo derivado que pode ser classificado como tipo de objeto. Mas esta é apenas a minha opinião, não digo que isso seja verdade. Se eu estiver errado, por favor, explique o porquê.

arrays
  • 3 respostas
  • 217 Views
Martin Hope
user8469759
Asked: 2025-04-07 04:26:20 +0800 CST

Não se espera que as ligações de estrutura sejam compiladas em C++17, mas mesmo assim o são

  • 7

Estou lendo aqui e ali sobre vinculações de estrutura em C++20 especificamente. Esse recurso foi, no entanto, introduzido em C++17 e teve poucos problemas:

  1. Não é possível usar especificadores de armazenamento ( staticou thread_local)
  2. Quando usado dentro de uma classe, se os membros de dados forem, privateas ligações de estrutura usadas em métodos ou funções amigas não devem funcionar.

Para testar isso, escrevi este código:

#include <string>

struct Point {
  int x, y;
};

class AClass {
 private:
  std::string mString;
  int mId;

 public:
  void aMethod(const AClass& p) { 
    auto s = p.mString;
    auto [str, id] = p;  // this should not work, because we're
                         // accessing private memebers
  }
  friend void aFriendFunction(const AClass& p) {  
    auto s = p.mString;
    auto [str, id] = p; // Likewise as aMethod
  }
};

int main() {
  Point p{3, 5};

  // This shouldn't work in C++17
  static auto [u, v] = p;  // This gives a warning, compilation depends

  return 0;
}

O que, pelo que entendi, não deveria funcionar . E presumi que por "não funcionar" não deveria compilar. No entanto, esta linha:

g++ main.cpp -o out -std=c++17

Me dá uma saída que parece válida e sem problemas. Então por que isso está funcionando? Estou esquecendo de algo?

Também estou notando que no gcc 7.1. isso realmente dá o erro esperado (usando um compilador online). Mas ao mudar para minha versão do gcc (13.3.0) recebo o aviso mencionado anteriormente. Isso levanta para mim a questão de como a vinculação estruturada mudou dentro da mesma versão C++.

c++
  • 1 respostas
  • 88 Views
Martin Hope
user1592380
Asked: 2025-04-07 04:25:45 +0800 CST

Nenhuma resposta à solicitação de busca no script de fundo da extensão do Chrome

  • 5

insira a descrição da imagem aqui

Estou tentando escrever uma extensão do Chrome para pegar alguns dados armazenados e POSTÁ-los em uma tabela de banco de dados remota. Estou tentando testar a funcionalidade de postagem usando https://www.postb.in/ . Estou usando um painel devtools que adicionei. Percorri o código e parece estar funcionando até a linha 37 em background.js. O que estou fazendo errado?

Panel.js contém:

const toDbBtn = document.getElementById("toDbBtn");

toDbBtn.addEventListener("click", async () => {
  const dbName = document.getElementById("textBox").value;

  try {
    const result = await chrome.storage.local.get(["yourKey"]);

    if (result.yourKey) {
      const savedArray = JSON.parse(result.yourKey);
      console.log(result.yourKey);
      console.log("Saved Array:", savedArray);
      console.log("DB Name:", dbName);
      console.log("Type of result.yourKey:", typeof result.yourKey);
      console.log("Type of savedArray:", typeof savedArray);
      console.log("Is savedArray an array?", Array.isArray(savedArray));

      // Send message to background script
      const response = await chrome.runtime.sendMessage({
        action: "sendToDB",
        data: { dbName: dbName, savedArray: result.yourKey },
      });

      if (response.error) {
        console.error("Error:", response.error);
      } else {
        console.log("Success:", response.result);
      }
    } else {
      console.log("No data found in storage to send.");
    }
  } catch (error) {
    console.error("Error during storage or message sending:", error);
  }
});

fundo.js:

chrome.runtime.onConnect.addListener(port => {});

chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
  if (request.action === "sendToDB") {
    const { dbName, savedArray } = request.data;

    if (typeof dbName !== 'string' || typeof savedArray !== 'string') {
      sendResponse({ error: 'Invalid data types' });
      return false;
    }

    let parsedArray;
    try {
      parsedArray = JSON.parse(savedArray);
    } catch (e) {
      sendResponse({ error: 'Invalid JSON string for savedArray' });
      return false;
    }

    const data = {
      dbName: dbName,
      savedArray: parsedArray,
    };

    const postable = JSON.stringify(data);
    console.log("postable", postable);

    try {
      const response = await fetch("https://www.postb.in/1743970496740-3388752799946", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: postable,
      });

      const result = await response.json();
      console.log("Response from server:", result);
      sendResponse({ result: result });
    } catch (error) {
      sendResponse({ error: error.message });
    }

    return true; // Required for asynchronous response
  }
  return false; // Required if the message is not for this listener
});

manifesto.json:

{
  "manifest_version": 3,
  "name": "myDevTools",
  "version": "1.0",
  "description": "Description of your extension",
  "devtools_page": "devtools.html",

  "host_permissions": [
    "*://*.cnn.com/",
    "https://www.postb.in/*"
  ],
  "permissions": [
    "storage",
    "activeTab",
    "scripting",
    "webNavigation",
    "tabs",
    "unlimitedStorage",
    "cookies",
    "alarms",
    "notifications",
    "contextMenus",
    "offscreen",
    "identity",
    "identity.email",
    "nativeMessaging",
    "browsingData"
  ],
  "background": {
    "service_worker": "background.js"
  }
}

EDIT: Alterei a solicitação POST para:

const response = await fetch("https://www.postb.in/1743979363812-2128863274119", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Methods": "POST",
      "Access-Control-Allow-Headers": "Content-Type"
    },
    body: postable,
  });

insira a descrição da imagem aqui

javascript
  • 1 respostas
  • 32 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