orientação a objetos – Como atribuir no construtor de uma classe filha uma instância da classe pai em Ruby

Eu tenho uma classe filha que é inicializada com algumas instâncias:

def initialize(nome:, preco:, categoria:)
    @nome = nome
    @preco = preco
    @categoria = categoria
end

Mas preciso que a variável @categoria seja puxada do construtor da classe pai. A instância que preciso da classe pai está com outro nome e não consegui pegar utilizando o método super.

  def initialize(nome: 'Geral')
    @nome = nome
  end

Em resumo, preciso que o atributo @categoria da classe filha herde o atributo @nome da classe pai.

É possivel atribuir uma função dentro dos parametros de uma função?

Seria algo assim:
funçãoA(funçãoB(A, B, C));

CODIGO

if (escolhaDesenho == 1)
{
Contador(maxLinha, DesenhoUm(maxLinha, D1, D2, maxLargura));
}

python 3.x – É possível atribuir um código a um objeto dentro de uma condição?

Ainda sou iniciante na programação, mas estou criando um programa que calcula média automaticamente. Além disso ele pergunta pro usuário o quanto as provas e os trabalhos vão influenciar na média final, sendo que é uma prova e um trabalho por mês, portanto para calcular a média do bimestre somariam 2 provas e 2 trabalhos. Além disso, o programa também pergunta se o usuário vai querer tirar a média de 1 bimestre ou do ano inteiro.
Só que está dando um erro dizendo que as variáveis de nota( np1, np2) e trabalho (nt1, nt2) não foram definidas. Eu tentei definir essas variáveis dentro de uma condição, e aparentemente é por causa disso que está dando erro, mas não sei como corrigi-lo. Se puder ajudar, ficarei grato de verdade.

mt = 'b'
hst = 'c'
print('Aqui estão as matérias que você pode escolher:')
print('a = Língua Portuguesa')
print('b = Matemática')
print('c = História')
me = input('Escolha a matéria desejada de acordo com a letra correspondente:')
if me == mt:
    print('Média de Matemática')
if me == hst:
    print('Média de História')
qtdm = input('Agora digite 0 para calcular a média de apenas um bimestre e 1 para calcular a média de 4 bimestres.')
if qtdm == 0:
    np1 = float(input('Escreva a nota da prova mensal mensal:'))
    np2 = float(input('Escreva a nota da prova bimestral:'))
    nt1 = float(input('Escreva a nota do trabalho mensal:'))
    nt2 = float(input('Escreva a nota do trabalho bimestral:'))
print('Agora me diga qual a porcentagem de influência das provas e dos trabalhos na média final:')
a = int(input('Provas:'))
b = int(input('Trabalhos:'))
if a == 70 and b == 30:
    n = 10
    a1 = ((np1 * (n * (35 / 100)))/10)
    a2 = ((np2 * (n * (35 / 100)))/10)
    a3 = ((nt1 * (n * (15 / 100)))/10)
    a4 = ((nt2 * (n * (15 / 100)))/10)
    print('A média total é {:.1f}'.format(a1+a2+a3+a4))```

html – atribuir a tecla enter a uma função com javascript

Bom, o que gostaria é que ao clicar a tecla enter, uma função é executada ( – addTask() – ), já pesquisei aqui no stackoverflow e em um outro site, porém encontrei uma solução (na verdade 2, uma no stackoverflow e outra no site que citei) que estava nesse outro site, porém ela não funcionou corretamente (pelo no firefox não; eu teclo enter e nada acontece), gostaria de saber se tem como fazer isso com javascript puro (sou iniciante ainda), veja meu código html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Curso Javascript</title>
    <link rel="stylesheet" href="stylesheet.css">
    <script src="https://kit.fontawesome.com/5ce84897d8.js" crossorigin="anonymous"></script>
</head>
<body onload=clear()>
    <div id="app">
        <div id="title"><h2>To-do</h2></div>
        <div id="add-task-container">
            <input type="text" placeholder="Write your task" id="input-task">
            <button onclick=addTask()><i class="fas fa-plus-square"></i></button>
            <button onclick=clearAll()><i class="fas fa-trash-alt"></i></button>
        </div>
        <div id="list-container"></div>
            <ul id="list-tasks">

            </ul>
        </div>
    </div>

    <script src="script.js"></script>
</body>
</html>

E meu script js:

function clear(){
    document.getElementById("input-task").value = "";
}

function addTask(){
    var app = document.querySelector("#app");
    var addTaskCont = document.querySelector("#add-task-container");
    var listContainer = document.querySelector("#list-container");
    var inputTask = document.querySelector("#input-task").value;
    var listTask = document.querySelector("#list-tasks");

    if (inputTask === ""){
        alert("You can't add a blank task!")
    }
    else{
        var elementText = document.createTextNode(inputTask);
        var elementTask = document.createElement("li");
        elementTask.appendChild(elementText);

        listTask.appendChild(elementTask);

        nameLi = listTask;

        clear();
    }
}

function clearAll(){
    var app = document.querySelector("#app");
    var listContainer = document.querySelector("#list-container");
    var listTask = document.querySelector("#list-tasks");

    var li = document.querySelectorAll("li");

    var vezes = li.length;
    for (var i = 0; vezes;){
        listTask.removeChild(li(i));
        i++;
        if (i === vezes){
            break;
        }
        else{
            continue;
        }
    }
}

// a partir daqui é o meu problema -----------------------------------------------------------------

var keynum;

if (window.event){
    keynum = event.keyCode;
}
else if (event.which){
    keynum = event.which;
}
if (keynum == 13){
    addTask()
}