-- с двойного тире начинается однострочный комментарий
--[[
А если добавить двойные квадратные скобки
получится многострочный комментарий
--]]
----------------------------------------------------
-- 1. Переменные и управляющие конструкции
----------------------------------------------------
num = 42 -- Все числа в Lua представляют из себя числа с плавающей точкой двойной точности (double)
-- Не переживайте, у 64-битных double имеется 52 бита
-- для хранения точных целочисленных (int) значений;
-- для целочисленных значений, которым нужно менее 52 бит, никаких проблем не возникнет
s = 'walternate' --строки неизменны (нельзя переназначать) как в Рython'e
t = "double-quotes are also fine" -- можно использовать и двойные кавычки
u = [[ Double brackets
start and end
multi-line strings.]] -- Двойные квадратные скобки
-- обрамляют многострочные строки (strings)
t = nil -- обнуляет t; В Lua имеется "сборщик мусора"пятница, 15 августа 2014 г.
Шпаргалка по Lua
четверг, 14 августа 2014 г.
Калькулятор на Lua в 30 строк
Захотелось написать зародыш компилятора )))
Интерпретатор:
Интерпретатор:
function oper(src) return src:match'^([-+*/]?)%s*(.*)' end
function number(src) return src:match'^(%d*)%s*(.*)' end
operators = {
{
['+'] = function(a,b) return a+b end,
['-'] = function(a,b) return a-b end
},{
['*'] = function(a,b) return a*b end,
['/'] = function(a,b) return a/b end
}
}
function expr(src, pri)
local a,b,n,r,op
pri = pri or 1
op = operators[pri]
if op then
a, src = expr(src, pri+1)
r, src = oper(src)
while op[r] do
b, src = expr(src, pri+1)
a = op[r](a,b)
r, src = oper(src)
end
return a, r..src
end
r, src = number(src)
if r=='' then error('number expected: '..src) end
return r, src
end
print(expr('2 + 2 * 3')) -- 8В operators операции расположены по приоритетам (низкий в начале). Можно добавлять свои операции.вторник, 26 ноября 2013 г.
C++: Памятка C++, конструкторы, копирование, присвоение, деструкторы
(Скомунизжено с all4study.ru)
Очень долго собирался написать памятку по разным приёмам программирования на C++. Но никак не мог выбрать достаточно компактный способ изложения. Получалось либо непонятно, либо очень длинно. В конце концов, я решил написать небольшой пример, снабжённый комментариями. Здесь, конечно, представлено далеко не всё, что стоило бы включить в памятку, но за-то то, что есть, изложено очень сжато, компактно и, мне кажется, что понятно. Я не планирую останавливаться на этом примере, для других аспектов программирования на C++ я постараюсь придумать другие примеры. Пока же, жду замечаний, предложений и критики этой первой заметки.
суббота, 27 июля 2013 г.
Подключал тут к своей семерке винт с другого компа. Обычно все проходит без проблем, но на этот раз попались некоторые папки, к которым доступ был только на чтение, да еще и права не давал поменять. Так как в вопросах администрирование винды я ни разу не гуру, то пришлось немного потанцевать с бубном. Запишу последовательность действий, чтоб потом самому не забыть.
пятница, 12 июля 2013 г.
DebugPrint (C#)
Откопал еще один свой раритет. Класс для форматирования отладочных сообщений. Сейчас, когда уже полно всяких отладочных фреймвоков, его полезность сомнительна, а на момент его написания (2005 г.) была весьма полезная штука.
среда, 10 июля 2013 г.
Нашел изъян в формате zip архива ;)
Еще попиарюсь )) Мой топик 2009 г. на форуме http://forum.ixbt.com/topic.cgi?id=26:39721 по поводу сабжа.
Калькулятор на препроцессоре )))
Нашел на просторах инета свой собственный изврат 2005 года. Гордюсь )))
Подписаться на:
Сообщения (Atom)