promise
разрешается с не-промисным значением value
, то promise.then(value => value)
и promise.then(value => Promise.resolve(value))
эквивалентны promise в приведённой выше цепочке.promise.then(value => value)
и promise.then(value => Promise.resolve(value))
эквивалентны: они вернут промис, который разрешается со значением, с которым разрешается value
.сферические координаты задаются не по ISO (фи[0 до 360] тета [-90 до 90]), а в другом представлении (фи[0-180] тета [-180 до 180]).
phi1 = phi < 180 ? phi : phi - 360;
theta1 = theta + 90;
phi = phi1 < 0 ? phi1 + 360 : phi1;
theta = theta1 - 90;
float r = sphericalCoordinates.x;
float theta = sphericalCoordinates.y;
float phi = sphericalCoordinates.z;
phi = phi < 0 ? phi + 360 : phi; // впрочем, конкретно эта строка не влияет на результат
theta = theta - 90;
(f $! x) $! y
, иначе строгость относится только к первому аргументу и созданию import Data.Time
testTime n func arg1 arg2 = let
list = (replicate $! n) $! (arg1, arg2)
func' ~(x, y) = return $ (func $! x) $! y
in do
start <- getCurrentTime
sequence $ (map $! func') $! list
stop <- getCurrentTime
print (diffUTCTime stop start)
// условие, когда нужно исполнить функцию и завершить процесс
function readIsOK(read) {
return read != last_read;
}
// какие-то осмысленные действия, когда условие удовлетворяется
function doSomething(result) {
if (last_read < result) {
//...тут какой-то код
} else if (last_read > result) {
// ...тут какой-то код
}
}
// функция, которая запускает процесс
function start() {
// функция, которая ежесекундно проверяет условие
// если условие выполняется, делает полезное действие
// иначе процесс продолжается до следующего вызова checkRead
function checkResult() {
var result = getRead();
if(readIsOK(result)) doSomething(result);
setTimeout(checkResult, 1000);
}
// запускаем первую итерацию
checkResult();
}
start();
// условие, когда нужно исполнить функцию и завершить процесс
function readIsOK(read) {
return read != last_read;
}
// какие-то осмысленные действия, когда условие удовлетворяется
function doSomething(result) {
if (last_read < result) {
//...тут какой-то код
} else if (last_read > result) {
// ...тут какой-то код
}
}
// функция, которая запускает процесс
function start(callback) {
// функция, которая ежесекундно проверяет условие
// если условие выполняется, делает полезное действие
// иначе процесс продолжается до следующего вызова checkRead
function checkResult() {
var result = getRead();
if(readIsOK(result)) callback(result);
setTimeout(checkResult, 1000);
}
// запускаем первую итерацию
checkResult();
}
start(doSomething);
start(() => start(() => alert("hi!")));
f[x_, t_] := Abs[Sin[x] Exp[I t] + Sin[3 x] Exp[I t] + Sin[5 x] Exp[3 I t]];
xmax = 2; tmax = 10;
fmax = NMaxValue[{f[x, t], 0 < x < xmax, 0 < t < tmax}, {x, t}]
frames = Table[Plot[f[x, t], {x, 0, xmax},
PlotRange -> {-(1/5) fmax, 6/5 fmax},
ImageSize -> 500,
PlotStyle -> Directive[Thickness[0.01], RGBColor[99/256, 100/256, 202/256]],
Axes -> None,
Background -> RGBColor[66/256, 69/256, 136/256]
], {t, 0, tmax, 0.1}];
ListAnimate[frames]
Export["/disk/animation.gif", frames, "DisplayDurations" -> 0.02]
git config --global core.autocrlf
function adjacentElementsProduct (inputArray) {
return inputArray
.sort()
.slice(-2)
.reduce((total, num) => total * num);
}
function adjacentElementsProduct (inputArray) {
const [ x, y ] = inputArray
.sort()
.slice(-2);
return x * y;
}
f :: String -> String -> String -> String
f str a b = let n = length a in if take n str == a then b ++ f (drop n str) a b else if str == "" then "" else head str : f (tail str) a b
/**
* @namespace ZZZ
*/
(function() {
/** @lends ZZZ */
/**
* my function.
*/
function f() {
}
/**
* my variable.
*/
var x = 2;
})();
/**
* @namespace ZZZ
*/
(/** @lends ZZZ */function() {
/**
* my function.
*/
function f() {
}
/**
* my variable.
*/
var x = 2;
})();
git reset --hard client
. Это вернёт Вас (и рабочую директорию) строго к этому коммиту. Затем Вы перейдёте в master и оттуда сделаете merge. /** @module ZModule */
(function() {
/**
* an array of instances.
* @memberof module:ZModule
*/
var instances = [];
/**
* retrieve an instance.
* @memberof module:ZModule
* @return an instance
*/
function getInstance() { return instance[0]; }
/**
* Constructor of a new instance.
* @memberof module:ZModule
* @class module:ZModule.createInstance
*/
function createInstance() {
return /** @lends module:ZModule.createInstance# */ {
/**
* param.
*/
objParam1: 42,
/**
* method.
* @return an integer
*/
objMethod1: function() { return 24; }
}
}
window.myModules.myModule1 = {
instances: instances,
createInstance: createInstance,
getInstance: getInstance
}
})();