Posted: Tue May 08, 2012 3:38 am
А теперь сравни скорость на более менее большом файле.Infocatcher wrote:Improved: don't get output twice.
А теперь сравни скорость на более менее большом файле.Infocatcher wrote:Improved: don't get output twice.
http://staynormal.org.ua/akelpad/scri[b]ps[/b]/QuoteExtend.js
Code: Select all
var edit = AkelPad.GetEditWnd();
...
var wnd = edit || AkelPad.GetEditWnd();
...
I.e if edit is evaluable to boolean true(i.e. non false, not 0, not null, not "", not undefined) result of expression is left operand. Otherwise - right operand. Left operand can be null only if it is not given bay caller, so right operand will be calculated.The production LogicalORExpression : LogicalORExpression || LogicalANDExpression is evaluated as follows:
1. Let lref be the result of evaluating LogicalORExpression.
2. Let lval be GetValue(lref).
3. If ToBoolean(lval) is true, return lval.
4. Let rref be the result of evaluating LogicalANDExpression.
5. Return GetValue(rref).
Code: Select all
//if(edit)
{
doit(edit,quotes);
}
See in AkelEdit.h (AkelPad source):F. Phoenix wrote:... можно как-нибудь по-человечески получить данные о настоящей строке текста, а не той, которая в результате переноса образовалась ...
Code: Select all
var lpPoint = AkelPad.MemAlloc(8 /*sizeof(POINT)*/, true);
И у меня такого много накопипастилось...Скрипт: <...>\AkelFiles\Plugs\Scripts\TabsToSpaces_mod.js
Строка: 117
Символ: 2
Ошибка: Недопустимое число аргументов или присвоение значения свойства
Код: 800A01C2
Источник: Ошибка выполнения Microsoft JScript
viewtopic.php?p=11379#p11379F. Phoenix wrote:... получить данные о настоящей строке текста, а не той, которая в результате переноса образовалась - при этом не переключая настройку WordWrap
https://developer.mozilla.org/en/JavaSc ... /FunctionsF. Phoenix wrote:Кстати еще вопросик по яваскрипту - есть ли в нем какие-либо аналоги си-шарповых ref и out, для изменения значений тех переменных, которые указаны аргументами функции? Чет не нашел... А если нету, то как лучше быть, если функция должна вернуть не одно значение, а несколько - только работать с глобальными переменными чтоли?
Способа изменить такое поведение нету.Primitive parameters (such as a number) are passed to functions by value; the value is passed to the function, but if the function changes the value of the parameter, this change is not reflected globally or in the calling function.
If you pass an object (i.e. a non-primitive value, such as Array or a user-defined object) as a parameter, and the function changes the object's properties, that change is visible outside the function
Code: Select all
function get() {
return {
x: 0,
y: 1
};
}
var o = get();
WScript.Echo(o.x + "\n" + o.y);
Code: Select all
var o1 = { value: 1 };
var o2 = { value: 2 };
function get(out1, out2) {
out1.value = 3;
out2.value = 4;
return 5;
}
var out = get(o1, o2);
WScript.Echo(out + "\n" + o1.value + "\n" + o2.value);
Scripts.idl wrote: //Allocate memory.
HRESULT MemAlloc([in] DWORD dwSize, [out, retval] MYRETHANDLE *nPointer);
//Copy memory.
HRESULT MemCopy([in] MYHANDLE nPointer, [in] VARIANT vpData, [in] DWORD dwType, [in, defaultvalue(-1)] int nDataLen, [out, retval] int *nBytes);
//Read memory.
HRESULT MemRead([in] MYHANDLE nPointer, [in] DWORD dwType, [in, defaultvalue(-1)] int nDataLen, [out, retval] VARIANT *vpData);
//Get pointer to a script string.
HRESULT MemStrPtr([in] BSTR wpString, [out, retval] MYRETHANDLE *nPointer);
//Free memory.
HRESULT MemFree([in] MYHANDLE nPointer);