dir: "/usr/local/lib/x86_64-linux-gnu/plugins/cantor/backends" Creating MaximaBackend Creating NullBackend Creating PythonBackend Creating PythonBackend Creating RBackend Creating SageBackend Creating ScilabBackend dir: "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/backends" Creating NullBackend dir: "/usr/local/bin/cantor/backends" Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. Created a CantorPart Backend "Тестовый модуль компьютерной алгебры" offers extensions: () Spawning a new Null session new worksheetaccess interface loading assistants... dir: "/usr/local/lib/x86_64-linux-gnu/plugins/cantor/assistants" plugin "Настраиваемый график" requires ("AdvancedPlotExtension") plugin "Настраиваемый график" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Создание матрицы" requires ("LinearAlgebraExtension") plugin "Создание матрицы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Дифференцирование" requires ("CalculusExtension") plugin "Дифференцирование" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Собственные значения" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные значения" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Собственные векторы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные векторы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Импорт пакета" requires ("PackagingExtension") plugin "Импорт пакета" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Интегрирование" requires ("CalculusExtension") plugin "Интегрирование" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Обращение матрицы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Обращение матрицы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "График функции" requires ("PlotExtension") plugin "График функции" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Поверхность, задаваемая функцией" requires ("PlotExtension") plugin "Поверхность, задаваемая функцией" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Графики Qalculate" requires ("QalculatePlotExtension") plugin "Графики Qalculate" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Запуск сценария" requires ("ScriptExtension") plugin "Запуск сценария" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Решение уравнений" requires ("CASExtension") plugin "Решение уравнений" is not supported by "Тестовый модуль компьютерной алгебры" dir: "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/assistants" plugin "Настраиваемый график" requires ("AdvancedPlotExtension") plugin "Настраиваемый график" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Создание матрицы" requires ("LinearAlgebraExtension") plugin "Создание матрицы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Дифференцирование" requires ("CalculusExtension") plugin "Дифференцирование" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Собственные значения" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные значения" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Собственные векторы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные векторы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Импорт пакета" requires ("PackagingExtension") plugin "Импорт пакета" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Интегрирование" requires ("CalculusExtension") plugin "Интегрирование" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Обращение матрицы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Обращение матрицы" is not supported by "Тестовый модуль компьютерной алгебры" plugin "График функции" requires ("PlotExtension") plugin "График функции" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Поверхность, задаваемая функцией" requires ("PlotExtension") plugin "Поверхность, задаваемая функцией" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Запуск сценария" requires ("ScriptExtension") plugin "Запуск сценария" is not supported by "Тестовый модуль компьютерной алгебры" plugin "Решение уравнений" requires ("CASExtension") plugin "Решение уравнений" is not supported by "Тестовый модуль компьютерной алгебры" dir: "/usr/local/bin/cantor/assistants" loading panel plugins for session of type "Тестовый модуль компьютерной алгебры" dir: "/usr/local/lib/x86_64-linux-gnu/plugins/cantor/panels" plugin "Справка" requires ("") Requesting capabilities of NullSession plugin "Справка" is supported plugin "Переменные" requires ("VariableManagementExtension") plugin "Переменные" is not supported dir: "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/panels" plugin "Справка" requires ("") Requesting capabilities of NullSession plugin "Справка" is supported plugin "Переменные" requires ("VariableManagementExtension") plugin "Переменные" is not supported dir: "/usr/local/bin/cantor/panels" Requesting capabilities of NullSession Requesting capabilities of NullSession Entry Appended QObject::disconnect: Unexpected null parameter Shortcut for action "evaluate_worksheet" "Посчитать все выражения" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. adding panel for "Справка" adding panel for "Справка" read: "\n\n \n print('3') \nprint('2')\nprint('1')\n 3\n2\n1\n \n \n print('Success!')\n Success!\n \n \n num = 42\nprint(num)\nwhile num < 50 do\n num = num + 1 -- No ++ or += type operators.\nend\nprint(num)\n 42\n50\n \n \n s = 'walternate' -- Immutable strings like Python.\nt = \"double-quotes are also fine\"\nu = [[ Double brackets\n start and end\n multi-line strings.]]\n \n \n \n print(u)\n Double brackets\n start and end\n multi-line strings.\n \n \n if num > 40 then\n print('over 40')\nend\n over 40\n \n \n --[[\nThis is multiline comment\nprint(u)\n]]\n \n \n \n foo = anUnknownVariable -- Now foo = nil.\n\naBoolValue = false\n\n-- Only nil and false are falsy; 0 and '' are true!\nif not aBoolValue then print('twas false') end\n twas false\n \n \n karlSum = 0\nfor i = 1, 100 do -- The range includes both ends.\n karlSum = karlSum + i\nend\n\n-- Use \"100, 1, -1\" as the range to count down:\nfredSum = 0\nfor j = 100, 1, -1 do fredSum = fredSum + j end\n\nprint(\"karlSum = \" .. tostring(karlSum))\nprint(\"fredSumj = \" .. tostring(fredSum))\n karlSum = 5050\nfredSumj = 5050\n \n \n repeat\n print('the way of the future')\n num = num - 1\nuntil num == 0\n the way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\n \n \n function fib(n)\n if n < 2 then return 1 end\n return fib(n - 2) + fib(n - 1)\nend\n\n-- Closures and anonymous functions are ok:\nfunction adder(x)\n -- The returned function is created when adder is\n -- called, and remembers the value of x:\n return function (y) return x + y end\nend\na1 = adder(9)\na2 = adder(36)\nprint(a1(16)) --> 25\nprint(a2(64)) --> 100\n 25\n100\n \n \n function bar(a, b, c)\n print(a, b, c)\n return 4, 8, 15, 16, 23, 42\nend\n\nx, y = bar('zaphod') --> prints \"zaphod nil nil\"\n zaphod\tnil\tnil\n \n \n \n \n\n" "Worksheet" loading entries Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 69) QSizeF(1338, 138) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 31) QSizeF(1338, 62) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 126) QSizeF(1338, 176) Entry Appended settting result to a type 1 result update Entry Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 31) QSizeF(1338, 100) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 69) QSizeF(1338, 100) Entry Appended settting result to a type 1 result update Entry Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 126) QSizeF(1338, 157) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 221) QSizeF(1338, 271) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 88) QSizeF(1338, 1050) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 297) QSizeF(1338, 347) Entry Appended settting result to a type 1 result update Entry new result QSizeF(1338, 126) QSizeF(1338, 157) Entry Appended loading assistants... dir: "/usr/local/lib/x86_64-linux-gnu/plugins/cantor/assistants" plugin "Настраиваемый график" requires ("AdvancedPlotExtension") plugin "Настраиваемый график" is not supported by "Lua" plugin "Создание матрицы" requires ("LinearAlgebraExtension") plugin "Создание матрицы" is not supported by "Lua" plugin "Дифференцирование" requires ("CalculusExtension") plugin "Дифференцирование" is not supported by "Lua" plugin "Собственные значения" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные значения" is not supported by "Lua" plugin "Собственные векторы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные векторы" is not supported by "Lua" plugin "Импорт пакета" requires ("PackagingExtension") plugin "Импорт пакета" is not supported by "Lua" plugin "Интегрирование" requires ("CalculusExtension") plugin "Интегрирование" is not supported by "Lua" plugin "Обращение матрицы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Обращение матрицы" is not supported by "Lua" plugin "График функции" requires ("PlotExtension") plugin "График функции" is not supported by "Lua" plugin "Поверхность, задаваемая функцией" requires ("PlotExtension") plugin "Поверхность, задаваемая функцией" is not supported by "Lua" plugin "Графики Qalculate" requires ("QalculatePlotExtension") plugin "Графики Qalculate" is not supported by "Lua" plugin "Запуск сценария" requires ("ScriptExtension") plugin "Запуск сценария" is supported by "Lua" KXMLGUI file found at deprecated location ("/usr/local/share/cantor/cantor_runscript_assistant.rc", "/usr/share/cantor/cantor_runscript_assistant.rc") -- please use ${KXMLGUI_INSTALL_DIR} to install this file instead. plugin "Решение уравнений" requires ("CASExtension") plugin "Решение уравнений" is not supported by "Lua" dir: "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/assistants" plugin "Настраиваемый график" requires ("AdvancedPlotExtension") plugin "Настраиваемый график" is not supported by "Lua" plugin "Создание матрицы" requires ("LinearAlgebraExtension") plugin "Создание матрицы" is not supported by "Lua" plugin "Дифференцирование" requires ("CalculusExtension") plugin "Дифференцирование" is not supported by "Lua" plugin "Собственные значения" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные значения" is not supported by "Lua" plugin "Собственные векторы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Собственные векторы" is not supported by "Lua" plugin "Импорт пакета" requires ("PackagingExtension") plugin "Импорт пакета" is not supported by "Lua" plugin "Интегрирование" requires ("CalculusExtension") plugin "Интегрирование" is not supported by "Lua" plugin "Обращение матрицы" requires ("LinearAlgebraExtension", "HistoryExtension") plugin "Обращение матрицы" is not supported by "Lua" plugin "График функции" requires ("PlotExtension") plugin "График функции" is not supported by "Lua" plugin "Поверхность, задаваемая функцией" requires ("PlotExtension") plugin "Поверхность, задаваемая функцией" is not supported by "Lua" plugin "Запуск сценария" requires ("ScriptExtension") plugin "Запуск сценария" is supported by "Lua" KXMLGUI file found at deprecated location ("/usr/local/share/cantor/cantor_runscript_assistant.rc", "/usr/share/cantor/cantor_runscript_assistant.rc") -- please use ${KXMLGUI_INSTALL_DIR} to install this file instead. plugin "Решение уравнений" requires ("CASExtension") plugin "Решение уравнений" is not supported by "Lua" dir: "/usr/local/bin/cantor/assistants" loading panel plugins for session of type "Lua" dir: "/usr/local/lib/x86_64-linux-gnu/plugins/cantor/panels" plugin "Справка" requires ("") plugin "Справка" is supported plugin "Переменные" requires ("VariableManagementExtension") plugin "Переменные" is not supported dir: "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/panels" plugin "Справка" requires ("") plugin "Справка" is supported plugin "Переменные" requires ("VariableManagementExtension") plugin "Переменные" is not supported dir: "/usr/local/bin/cantor/panels" adding panel for "Справка" adding panel for "Справка" Worksheet successfully loaded in 0.069 seconds). ShortcutOverride 16777220 QFlags(ShiftModifier) "/usr/bin/lua" pid 13273 started wsStatusChange 1 wsStatusChange 0 final command to be executed "print('3') \nprint('2')\nprint('1')\n" QSizeF(937, 138) QSizeF(937, 69) reading the intro message "Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio\n> " readedLine: "print('3') \n" readedLine: "3\n" readedLine: "> print('2')\n" readedLine: "2\n" readedLine: "> print('1')\n" readedLine: "1\n" readedLine: "> " parsing the output "print('3') \n3\n> print('2')\n2\n> print('1')\n1\n> " final output of the command "print('3') \nprint('2')\nprint('1')" : "3\n2\n1\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "print('Success!')\n" QSizeF(937, 62) QSizeF(937, 31) readedLine: "print('Success!')\n" readedLine: "Success!\n" readedLine: "> " parsing the output "print('Success!')\nSuccess!\n> " final output of the command "print('Success!')" : "Success!\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "num = 42\nprint(num)\nwhile num < 50 do\n num = num + 1 -- No ++ or += type operators.\nend\nprint(num)\n" QSizeF(937, 176) QSizeF(937, 126) readedLine: "num = 42\n" readedLine: "> print(num)\n" readedLine: "42\n" readedLine: "> while num < 50 do\n" readedLine: ">> num = num + 1 -- No ++ or += type operators.\n" readedLine: ">> end\n" readedLine: "> " parsing the output "num = 42\n> print(num)\n42\n> while num < 50 do\n>> num = num + 1 -- No ++ or += type operators.\n>> end\n> " final output of the command "num = 42\nprint(num)\nwhile num < 50 do\n num = num + 1 -- No ++ or += type operators.\nend\nprint(num)" : "42\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "s = 'walternate' -- Immutable strings like Python.\nt = \"double-quotes are also fine\"\nu = [[ Double brackets\n start and end\n multi-line strings.]]\n" readedLine: "print(num)\n" readedLine: "50\n" readedLine: "> " parsing the output "print(num)\n50\n> " final output of the command "s = 'walternate' -- Immutable strings like Python.\nt = \"double-quotes are also fine\"\nu = [[ Double brackets\n start and end\n multi-line strings.]]" : "print(num)\n50\n" settting result to a type 1 result update Entry new result QSizeF(937, 107) QSizeF(937, 157) wsStatusChange 1 wsStatusChange 0 final command to be executed "print(u)\n" QSizeF(937, 100) QSizeF(937, 31) readedLine: "s = 'walternate' -- Immutable strings like Python.\n" readedLine: "> t = \"double-quotes are also fine\"\n" readedLine: "> u = [[ Double brackets\n" readedLine: ">> start and end\n" readedLine: ">> multi-line strings.]]\n" readedLine: "> print(u)\n" readedLine: " Double brackets\n" readedLine: " start and end\n" readedLine: " multi-line strings.\n" readedLine: "> " parsing the output "s = 'walternate' -- Immutable strings like Python.\n> t = \"double-quotes are also fine\"\n> u = [[ Double brackets\n>> start and end\n>> multi-line strings.]]\n> print(u)\n Double brackets\n start and end\n multi-line strings.\n> " final output of the command "print(u)" : "s = 'walternate' -- Immutable strings like Python.\nt = \"double-quotes are also fine\"\nu = [[ Double brackets\nstart and end\nmulti-line strings.]]\nDouble brackets\nstart and end\nmulti-line strings.\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "if num > 40 then\n print('over 40')\nend\n" QSizeF(937, 100) QSizeF(937, 69) readedLine: "if num > 40 then\n" readedLine: ">> print('over 40')\n" readedLine: ">> end\n" readedLine: "over 40\n" readedLine: "> " parsing the output "if num > 40 then\n>> print('over 40')\n>> end\nover 40\n> " final output of the command "if num > 40 then\n print('over 40')\nend" : "over 40\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "--[[\nThis is multiline comment\nprint(u)\n]]\n" readedLine: "--[[\n" readedLine: ">> This is multiline comment\n" readedLine: ">> print(u)\n" readedLine: ">> ]]\n" readedLine: "> " parsing the output "--[[\n>> This is multiline comment\n>> print(u)\n>> ]]\n> " final output of the command "--[[\nThis is multiline comment\nprint(u)\n]]" : "" settting result to a type 1 result update Entry wsStatusChange 1 wsStatusChange 0 final command to be executed "foo = anUnknownVariable -- Now foo = nil.\n\naBoolValue = false\n\n-- Only nil and false are falsy; 0 and '' are true!\nif not aBoolValue then print('twas false') end\n" QSizeF(937, 157) QSizeF(937, 126) readedLine: "foo = anUnknownVariable -- Now foo = nil.\n" readedLine: "> \n" readedLine: "> " parsing the output "foo = anUnknownVariable -- Now foo = nil.\n> \n> " final output of the command "foo = anUnknownVariable -- Now foo = nil.\n\naBoolValue = false\n\n-- Only nil and false are falsy; 0 and '' are true!\nif not aBoolValue then print('twas false') end" : "" settting result to a type 1 result update Entry wsStatusChange 1 wsStatusChange 0 final command to be executed "karlSum = 0\nfor i = 1, 100 do -- The range includes both ends.\n karlSum = karlSum + i\nend\n\n-- Use \"100, 1, -1\" as the range to count down:\nfredSum = 0\nfor j = 100, 1, -1 do fredSum = fredSum + j end\n\nprint(\"karlSum = \" .. tostring(karlSum))\nprint(\"fredSumj = \" .. tostring(fredSum))\n" QSizeF(937, 271) QSizeF(937, 221) readedLine: "aBoolValue = false\n" readedLine: "> \n" readedLine: "> -- Only nil and false are falsy; 0 and '' are true!\n" readedLine: "> if not aBoolValue then print('twas false') end\n" readedLine: "twas false\n" readedLine: "> " parsing the output "aBoolValue = false\n> \n> -- Only nil and false are falsy; 0 and '' are true!\n> if not aBoolValue then print('twas false') end\ntwas false\n> " final output of the command "karlSum = 0\nfor i = 1, 100 do -- The range includes both ends.\n karlSum = karlSum + i\nend\n\n-- Use \"100, 1, -1\" as the range to count down:\nfredSum = 0\nfor j = 100, 1, -1 do fredSum = fredSum + j end\n\nprint(\"karlSum = \" .. tostring(karlSum))\nprint(\"fredSumj = \" .. tostring(fredSum))" : "aBoolValue = false\n-- Only nil and false are falsy; 0 and '' are true!\nif not aBoolValue then print('twas false') end\ntwas false" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "repeat\n print('the way of the future')\n num = num - 1\nuntil num == 0\n" QSizeF(937, 1050) QSizeF(937, 88) readedLine: "karlSum = 0\n" readedLine: "> for i = 1, 100 do -- The range includes both ends.\n" readedLine: ">> karlSum = karlSum + i\n" readedLine: ">> end\n" readedLine: "> \n" readedLine: "> -- Use \"100, 1, -1\" as the range to count down:\n" readedLine: "> fredSum = 0\n" readedLine: "> for j = 100, 1, -1 do fredSum = fredSum + j end\n" readedLine: "> \n" readedLine: "> print(\"karlSum = \" .. tostring(karlSum))\n" readedLine: "karlSum = 5050\n" readedLine: "> print(\"fredSumj = \" .. tostring(fredSum))\n" readedLine: "fredSumj = 5050\n" readedLine: "> repeat\n" readedLine: ">> print('the way of the future')\n" readedLine: ">> num = num - 1\n" readedLine: ">> until num == 0\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "the way of the future\n" readedLine: "> " parsing the output "karlSum = 0\n> for i = 1, 100 do -- The range includes both ends.\n>> karlSum = karlSum + i\n>> end\n> \n> -- Use \"100, 1, -1\" as the range to count down:\n> fredSum = 0\n> for j = 100, 1, -1 do fredSum = fredSum + j end\n> \n> print(\"karlSum = \" .. tostring(karlSum))\nkarlSum = 5050\n> print(\"fredSumj = \" .. tostring(fredSum))\nfredSumj = 5050\n> repeat\n>> print('the way of the future')\n>> num = num - 1\n>> until num == 0\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\n> " final output of the command "repeat\n print('the way of the future')\n num = num - 1\nuntil num == 0" : "karlSum = 0\nfor i = 1, 100 do -- The range includes both ends.\nkarlSum = karlSum + i\nend\n\n-- Use \"100, 1, -1\" as the range to count down:\nfredSum = 0\nfor j = 100, 1, -1 do fredSum = fredSum + j end\n\nprint(\"karlSum = \" .. tostring(karlSum))\nkarlSum = 5050\nprint(\"fredSumj = \" .. tostring(fredSum))\nfredSumj = 5050\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\nthe way of the future\n" settting result to a type 1 result update Entry new result wsStatusChange 1 wsStatusChange 0 final command to be executed "function fib(n)\n if n < 2 then return 1 end\n return fib(n - 2) + fib(n - 1)\nend\n\n-- Closures and anonymous functions are ok:\nfunction adder(x)\n -- The returned function is created when adder is\n -- called, and remembers the value of x:\n return function (y) return x + y end\nend\na1 = adder(9)\na2 = adder(36)\nprint(a1(16)) --> 25\nprint(a2(64)) --> 100\n" QSizeF(937, 347) QSizeF(937, 297) readedLine: "function fib(n)\n" readedLine: ">> if n < 2 then return 1 end\n" readedLine: ">> return fib(n - 2) + fib(n - 1)\n" readedLine: ">> end\n" readedLine: "> \n" readedLine: "> " parsing the output "function fib(n)\n>> if n < 2 then return 1 end\n>> return fib(n - 2) + fib(n - 1)\n>> end\n> \n> " final output of the command "function fib(n)\n if n < 2 then return 1 end\n return fib(n - 2) + fib(n - 1)\nend\n\n-- Closures and anonymous functions are ok:\nfunction adder(x)\n -- The returned function is created when adder is\n -- called, and remembers the value of x:\n return function (y) return x + y end\nend\na1 = adder(9)\na2 = adder(36)\nprint(a1(16)) --> 25\nprint(a2(64)) --> 100" : "" settting result to a type 1 result update Entry wsStatusChange 1 wsStatusChange 0 final command to be executed "function bar(a, b, c)\n print(a, b, c)\n return 4, 8, 15, 16, 23, 42\nend\n\nx, y = bar('zaphod') --> prints \"zaphod nil nil\"\n" QSizeF(937, 157) QSizeF(937, 126) readedLine: "-- Closures and anonymous functions are ok:\n" readedLine: "> function adder(x)\n" readedLine: ">> -- The returned function is created when adder is\n" readedLine: ">> -- called, and remembers the value of x:\n" readedLine: ">> return function (y) return x + y end\n" readedLine: ">> end\n" readedLine: "> a1 = adder(9)\n" readedLine: "> a2 = adder(36)\n" readedLine: "> print(a1(16)) --> 25\n" readedLine: "25\n" readedLine: "> print(a2(64)) --> 100\n" readedLine: "100\n" readedLine: "> " parsing the output "-- Closures and anonymous functions are ok:\n> function adder(x)\n>> -- The returned function is created when adder is\n>> -- called, and remembers the value of x:\n>> return function (y) return x + y end\n>> end\n> a1 = adder(9)\n> a2 = adder(36)\n> print(a1(16)) --> 25\n25\n> print(a2(64)) --> 100\n100\n> " final output of the command "function bar(a, b, c)\n print(a, b, c)\n return 4, 8, 15, 16, 23, 42\nend\n\nx, y = bar('zaphod') --> prints \"zaphod nil nil\"" : "-- Closures and anonymous functions are ok:\nfunction adder(x)\n-- The returned function is created when adder is\n-- called, and remembers the value of x:\nreturn function (y) return x + y end\na1 = adder(9)\na2 = adder(36)\nprint(a1(16)) --> 25\n25\nprint(a2(64)) --> 100\n100" settting result to a type 1 result update Entry new result wsStatusChange 1 readedLine: "function bar(a, b, c)\n" readedLine: ">> print(a, b, c)\n" readedLine: ">> return 4, 8, 15, 16, 23, 42\n" readedLine: ">> end\n" readedLine: "> \n" readedLine: "> x, y = bar('zaphod') --> prints \"zaphod nil nil\"\n" readedLine: "zaphod\tnil\tnil\n" readedLine: "> " parsing the output "function bar(a, b, c)\n>> print(a, b, c)\n>> return 4, 8, 15, 16, 23, 42\n>> end\n> \n> x, y = bar('zaphod') --> prints \"zaphod nil nil\"\nzaphod\tnil\tnil\n> " final output of the command "function bar(a, b, c)\n print(a, b, c)\n return 4, 8, 15, 16, 23, 42\nend\n\nx, y = bar('zaphod') --> prints \"zaphod nil nil\"" : "zaphod\tnil\tnil" settting result to a type 1 result update Entry update result wsStatusChange 1 org.kde.knotifications: Calling notify on "Sound" org.kde.knotifications: Audio notification requested, but sound file from notifyrc file was not found, aborting audio notification org.kde.knotifications: Calling notify on "Taskbar" org.kde.knotifications: Closing notification 0