В простом JavaScript нет метода с именем empty()
. Если вы хотите очистить элемент, есть несколько способов сделать это. Одним из наиболее простых подходов было бы просто присвоить внутренний HTML-код элемента пустой строке, например:
document.querySelector("div").innerHTML = "";
<p>The following div is now empty</p>
<div>ABC</div>
Однако вы можете создать функцию многократного использования empty()
, которая будет принимать элемент и очищать его содержимое следующим образом:
/* JavaScript */
function empty(x) { x.innerHTML = "" }
//You can now empty as many elements as you want using the reusable empty() function created above
var a = document.getElementById("aaa");
var b = document.getElementById("bbb");
var c = document.getElementById("ccc");
empty(a);
empty(b);
empty(c);
<!-- HTML -->
<p>All three divs below are now empty:</p>
<div id="aaa">ABC</div>
<div id="bbb"><p>XYZ</p></div>
<div id="ccc"><div>123</div></div>
ML прямо не сопоставим с Прологом. Пролог - это язык программирования декларативной логики, который в основном является средством доказательства теорем, использующим предложения Хорна. Одной из приятных характеристик (не чистого Пролога) является то, что он позволит вам серьезно изменить программу во время компиляции или выполнения. Например, в большинстве современных реализаций Пролога вы можете напрямую писать грамматики, используя формализм DCG (грамматика определенного условия). Правила грамматики с использованием оператора «->» переписываются в предложения Prolog с использованием термина «расширение». Например :
a(N) --> b, c(N).
Будет переписано в:
a(N,P0,P2) :- b(P0,P1), c(N,P1,P2).
Использование переменных положения обеспечит смежность дочерей с правой стороны стрелки. Так как Prolog попытается доказать, что глава предложения доказывает свои дочери (путем обратного отслеживания), у вас в основном есть нисходящий анализатор слева-справа без какой-либо дополнительной работы. Другим примером модификации программы является утверждение или сокращение (динамических) фактов или предложений, которые можно использовать для изменения поведения программы во время выполнения.
ML, с другой стороны, является нечистым функциональным языком. Связь между Прологом и ML состоит в том, что некоторые доказатели теорем написаны на ML. Я бы сказал, что ML гораздо более универсален, но для своих ниш Пролог очень удобен. И то, и другое очень полезно для изучения, даже просто для расширения вашего кругозора.
SML используется разработчиками компилятора. И Пролог и SML используются в программах автоматического доказательства теоремы.
Я только лично использовал его в университете для курса теории чисел. Я должен сказать, что действительно любил использовать его. Это могло обработать огромные числа, который был хорош при контакте с криптографией.
Если имеет значение, что я использовал Москву ML http://www.itu.dk/people/sestoft/mosml.html
Я не видел много коммерческого применения ML, но это может быть до доступных сред, а не отражения о языке. Я видел, что много банков используют F# (который является тем же семейством как ML) обработать потоки данных, сделайте матричную алгебру и ищите шаблоны. То, что Microsoft упаковала его для.NET, очевидно, не помогает никакому концу.
Не SML, но тесно связанный, является OCAML, который использовался для многих вещей:
http://caml.inria.fr/about/successes.en.html
Мне скорее нравится "Более быстрое преобразование Фурье на Западе", где ML используется для генерации оптимизированного C...
At work, we use SML in actual real-life software products which we ship to paying customers. We use MLton to compile our SML code to native code running on Windows, Linux, Solaris, AIX, and HP-UX. It works well, and we're happy with our choice.
I don't see SML as particularly suited to any clear niche. Indeed, SML is a very well-rounded general-purpose programming language. Prolog is well established in the logic programming/artifical intelligence/rule based system solving niche(s), but it's used for a lot of things besides these traditional domains.
For anyone who is considering using SML for a software project in the "real world", here are some of the advantages and disadvantages we've noticed so far:
Недостатки: