CLIME an EMACS SLIME backend for McCLIM
Прикольный проектик накопал
https://gist.github.com/lukego/0b74b94492066ae2b8c2a12b18e845c7
Прикольный проектик накопал
https://gist.github.com/lukego/0b74b94492066ae2b8c2a12b18e845c7
Все доступные функции для работы с объектом лежат в прототипе
увидеть их можно так:
<select id="list"></select>
<script>console.dir(document.querySelector('#list').__proto__)</script>
Когда вы используете
console.dir(document.querySelector('#list').__proto__), вы получаете доступ к прототипу (или родительскому объекту) элемента <select> с идентификатором list. Это может быть полезно для понимания свойств и методов, доступных для данного элемента. Что можно получить из console.dir(document.querySelector('#list').__proto__)
Свойства и методы элемента:
Вы увидите все свойства и методы, которые доступны для элемента <select>, включая стандартные методы DOM, такие как: add(): Добавляет новый элемент <option> в список. remove(): Удаляет элемент <option> из списка. item(): Возвращает элемент <option> по индексу. selectedIndex: Свойство, которое указывает индекс выбранного элемента. value: Свойство, которое возвращает или устанавливает значение выбранного элемента.
Свойства HTML:
Вы также увидите свойства, специфичные для HTML-элемента <select>, такие как: length: Количество элементов <option> в списке. multiple: Указывает, может ли пользователь выбрать несколько элементов. name: Имя элемента, которое отправляется на сервер при отправке формы.
События:
Прототип включает методы для работы с событиями, такие как addEventListener() и removeEventListener(), которые позволяют добавлять и удалять обработчики событий для элемента.
Наследование:
Вы также увидите, что прототип элемента <select> наследует свойства и методы от других объектов, таких как HTMLElement и Element, что дает доступ к более общим свойствам и методам, доступным для всех HTML-элементов.
Пример использования
Если вы хотите получить информацию о текущем выбранном элементе в списке, вы можете использовать следующее:
javascript
const selectElement = document.querySelector('#list');
const selectedValue = selectElement.value; // Получаем значение выбранного элемента
const selectedIndex = selectElement.selectedIndex; // Получаем индекс выбранного элемента
console.log(`Выбранное значение: ${selectedValue}, Индекс: ${selectedIndex}`);
Заключение
Использование console.dir() с __proto__ позволяет вам исследовать структуру и методы объекта, что может быть полезно для отладки и понимания возможностей элемента <select> и его взаимодействия с JavaScript.
Перепишите функцию, пожалуйста, чтобы при нажатии на ячейку с числом код пробегает по всем ячейкам таблицы и выдаёт количество ячеек содержащих данное число. И подкрашивает эти ячейки в другой цвет.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatable" content="ie=edge">
<title>Document</title>
</head>
<body>
<style>
table, tr, td{
border: 1px solid;
border-collapse: collapse;
}
</style>
<table id="myTable">
<tr>
<td>string</td>
<td>4</td>
</tr>
<tr>
<td>string</td>
<td>4</td>
</tr>
<tr>
<td>string</td>
<td>4</td>
</tr>
<tr>
<td>string</td>
<td>10</td>
</tr>
<tr>
<td>string</td>
<td>12</td>
</tr>
<tr>
<td>string</td>
<td>4</td>
</tr>
<tr>
<td>string</td>
<td>4</td>
</tr>
</table>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
alert(document.getElementById("myTable").rows[2].cells[1].innerHTML);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatable" content="ie=edge">
<title>Document</title>
</head>
<html>
<head>
<style>
table,
td {
border: 1px solid black;
}
</style>
</head>
<body>
<table id="position1">
<tr>
<td onclick="runM(this)">TL</td>
<td onclick="runM(this)">TC</td>
<td onclick="runM(this)">TR</td>
</tr>
</table>
<script>
function runM(txt){
console.log(txt.cellIndex);
}
</script>
</body>
</html>
Вопрос был риторический. Никто такими делами не занимался.
Занимался кто-нибудь этим https://www.researchgate.net/publication/2429147_LISP_--_a_Language_for_Inter... Какие результаты? Если есть.
Как-то заметил, что такая ошибка
GET http://localhost:3000/favicon.ico [HTTP/1.1 404 Not Found 0ms]
Не могу понять как такое простое действие делать.
В лбой папке создаём package.json
{
"name": "static-file-fun",
"private": true,
"scripts": {
"start": "node app.js"
}
}
var express = require("express");
var morgan = require("morgan");
var path = require("path");
var fs = require("fs");
var app = express();
app.use(morgan("short"));
app.use(function(req, res, next) {
console.log("Request IP: " + req.url);
console.log("Request date: " + new Date());
next();
});
app.use(function(req, res, next) {
var filePath = path.join(__dirname, "static");
//Тут https://expressjs.com/en/4x/api.html поисковик на fs.stat ничего не выдаёт. Не знаю как определить err, fileInfo
fs.stat(filePath, function(err, fileInfo) {
if (err) {
//next();
return;
}
if (fileInfo.isFile()) {
res.sendFile(filePath);
} else {
next();
}
});
});
app.use(function(req, res) {
res.status(404);
res.send("File not found!");
});
app.listen(3000, function() {
console.log("App started on port 3000");
});
Вот ещё загадка.
console.log(fs) => {....stat: [Function: stat],...}
Как переписать так чтобы в выпадающем меню выбрать температуру, а затем в другом выпадающем меню выбрать толщину пластины относящейся к выбранной температуре.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Расчёт параметров.</title>
</head>
<body>
<h1>Расчёт параметров.</h1>
<p align="center">
<label for="temp200">Температура нагрева 200°C.</label>
<select name="temp200" id="temp200">
<option value="">Толщина пластины:</option>
<option value="05">0,5 см</option>
<option value="06">0,6 см</option>
<option value="08">0,8 см</option>
</select>
<label for="temp300">Температура нагрева 300°C.</label>
<select name="temp300" id="temp300">
<option value="">Толщина пластины:</option>
<option value="15">1,5 см</option>
<option value="20">2,0 см</option>
<option value="28">2,8 см</option>
</select>
</p>
<script>
const plate05 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate06 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate08 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate15 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate20 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate28 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const arrTemp200 = [
{ x: "05", y: plate05 },
{ x: "06", y: plate06 },
{ x: "08", y: plate08 }
];
const arrTemp300 = [
{ x: "15", y: plate15 },
{ x: "20", y: plate20 },
{ x: "28", y: plate28 }
];
const allTemp = [
arrTemp200, arrTemp300
];
function findAndReturn(array, value) {
for (let obj of array) {
if (value === obj.x) {
console.log(obj.y);
// console.log(obj.w0L);
// console.log(obj.w0H);
// document.getElementById("w00").value = value;
// document.getElementById("w0L").value = obj.w0L;
// document.getElementById("w0H").value = obj.w0H;
}
}
};
const selectTemp200 = document.querySelector("#temp200");
selectTemp200.addEventListener("change", () => {
const value1 = (selectTemp200.value);
// console.log(value1)
findAndReturn(arrTemp200, value1);
});
const selectTemp300 = document.querySelector("#temp300");
selectTemp300.addEventListener("change", () => {
const value1 = (selectTemp300.value);
// console.log(value1)
findAndReturn(arrTemp300, value1);
});
</script>
</body>
</html>
Если у кого есть опыт написания серверной стороны на expressjs сделайте так чтобы код внизу заработал. Уже задолбался читать про expressjs, не хватает примера
node myapp.js
<!DOCTYPE html>
<html>
<body>
<input type="number" id="myNumber0">
<input type="number" id="myNumber1">
<input type="number" id="myNumber2">
<button onclick="calc()">Try it</button>
</body>
</html>
и вот сeрвер возвращает
<!DOCTYPE html>
<html>
<body>
<input type="string" id="myNumber3">
<input type="string" id="myNumber4">
<input type="string" id="myNumber5">
function calc() {
const V0 = parseFloat(document.getElementById("myNumber0").value);
const V1 = parseFloat(document.getElementById("myNumber1").value);
const V2 = parseFloat(document.getElementById("myNumber2").value);
for (let i of [V0,V1,V2]){
if (isNaN(i)) {
alert(`Oops, it is ${i}`);
} else {
document.getElementById("myNumber3").value = V0 + V1;
document.getElementById("myNumber4").value = V1 + V2;
document.getElementById("myNumber5").value = V2 + V0;
}
}
};
</body>
</html>
Что значит «Серверный код можно писать на любой платформе. » вот тут https://learn.javascript.ru/websockets
Тут вот нашёл https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/www-a.... Может у кого ещё есть идеи, опыт в таком деле.
В консоль вставлять скопированный код нельзя, ругается и настройки менять тоже нельзя. Думаю подключить emacs. Но не знаю есть ли на нём такая возможность. что при написании кода вываливаются менюшки как в консоли браузера или как в VScode.
Товарищи модераторы,
Можно сделать так чтобы комментарии игнорируемых участников не отражались бы в уведомлениях, а также чтобы в треде не было бы кнопки показать все комментарии?
x y
10 0.2
4 1
3 2
2 3
1 10
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatable" content="ie=edge">
<title>Document</title>
</head>
<div id="container"></div>
<body>
<script type="module">
import * as d3 from "https://cdn.jsdelivr.net/npm/d3@7/+esm";
// Declare the chart dimensions and margins.
const width = 640;
const height = 400;
const marginTop = 20;
const marginRight = 20;
const marginBottom = 30;
const marginLeft = 40;
// Declare the x (horizontal position) scale.
const x = d3.scaleLog()
.domain([0.2, 60])
.range([marginLeft, width - marginRight]);
// Declare the y (vertical position) scale.
const y = d3.scaleLog()
.domain([0.1, 100])
.range([height - marginBottom, marginTop]);
// Create the SVG container.
const svg = d3.create("svg")
.attr("width", width)
.attr("height", height);
// Add the x-axis.
svg.append("g")
.attr("transform", `translate(0,${height - marginBottom})`)
.call(d3.axisBottom(x));
// Add the y-axis.
svg.append("g")
.attr("transform", `translate(${marginLeft},0)`)
.call(d3.axisLeft(y));
// Append the SVG element.
container.append(svg.node());
</script>
</body>
</html>
Нужно в аппликашку вставить gnuplot. Нашёл WebAssembly, а вот альтернативы не нашёл. Или всё равно придётся гонять по отдельности своё изобретение и gnuplot.
Я так понимаю, что код написанный на одной версии не будет работать на другой.
openjdk-11-jdk-headless # version 11.0.20.1+1-0ubuntu1~22.04, or
default-jdk # version 2:1.11-72build2
openjdk-17-jdk-headless # version 17.0.8.1+1~us1-0ubuntu1~22.04
openjdk-18-jdk-headless # version 18.0.2+9-2~22.04
openjdk-19-jdk-headless # version 19.0.2+7-0ubuntu3~22.04
openjdk-8-jdk-headless # version 8u382-ga-1~22.04.1
ecj # version 3.16.0-1
Есть ли библиотеки на Common Lisp c функциями Бесселя?
Существует номограмма в координатах, мне надо написать уравнение этой кривой. Кто-нибудь решал такие задачи?
следующие → |