Totoro 3 563 Опубликовано: 16 мая, 2016 (изменено) Сколько вы можете придумать способов напечатать фразу "Hello World!" десять раз, при помощи Луа? Мой вклад в копилку: 1) Рекурсией function hello(times) if times > 0 then print "Hello World!"; hello(times-1) end end hello(10) 2) Заменой local source = " " local hello = source:gsub(" ", "Hello World!\n") print(hello) Изменено 16 мая, 2016 пользователем Totoro 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 16 мая, 2016 for i = 1, 10 do print('Hello World!) end 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
evgkul 571 Опубликовано: 17 мая, 2016 print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') print('Hello World!') 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jet 30 Опубликовано: 17 мая, 2016 print(string.rep("Hello world!\n", 10)) 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 17 мая, 2016 Самое очевидное это циклы Goto: i = 10 ::hello:: print('Hello World!') i = i - 1 if i >= 1 then goto hello end While: i = 10 while i >= 1 do print('Hello World!') i = i - 1 end Repeat: i = 10 repeat print('Hello World!') i = i - 1 until i <= 0 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 17 мая, 2016 Пара идей, в которых счетчиком цикла является сама фраза "Hello World!" s1="He" s2="llo World!" repeat print(s1..s2) s1=s1..s2:sub(1,1) s2=s2:sub(2) until s2=="" s1="Hello World!" for _ in s1:gmatch("%w") do print(s1) end 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
cyber01 1 704 Опубликовано: 17 мая, 2016 print('Hello World! Десять раз') 5 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
danshat 55 Опубликовано: 17 мая, 2016 (изменено) local int = 0 local f = require("filesystem") require("term").clear() if f.exists("hello") then local file = io.open("hello","r") int = file:read(1) file:close() end if int == 10 then os.exit() end print("Hello World!") int = int + 1 file = io.open("hello","w") file:write(int) file:flush() file:close() os.execute("helloworld") os.exit() Прожка достает число из файла hello, если он есть, затем смотрит, если число 10 - то есть прога уже выполнила все, что нужно, то выходит не создавая новый свой экземпляр, если же нет - то пишет Hello World, добавляет 1 к числу, открывает файл hello на запись и пишет туда это число. Затем запускает сама себя и закрывается. Писал по памяти, на компе OC не тестировал, концепт думаю ясен Изменено 19 мая, 2016 пользователем danshat 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 18 мая, 2016 gpu=require("component").gpu s="Hello World!" for i=1,1000 do x=math.random(12) y=math.random(10) gpu.set(x,y,s:sub(x,x)) os.sleep(0.1) end 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 2 сентября, 2016 (изменено) local t = {} for i = 1, 10 do t[i] = "Hell" end print(table.concat(t, "o, World!\n") .. "o, World!") Изменено 2 сентября, 2016 пользователем LeshaInc 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 2 сентября, 2016 function map(func, array) local new_array = {} for i,v in ipairs(array) do new_array[i] = func(v) end return new_array end local range = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} map(function() print("Hello World!") end, range) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 2 сентября, 2016 io.write(string.char(72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10, 72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 10)) 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 2 сентября, 2016 (изменено) local str = 'hello world' local str_len = #str for i = 1, 10 do local matches = 0 local now_ch = string.sub(str, 1, 1) while matches <= str_len do local ch = string.char(math.random(1, 255)) if ch == now_ch then io.write(ch) matches = matches + 1 now_ch = string.sub(str, matches + 1, matches + 1) end end print() end Изменено 2 сентября, 2016 пользователем NEO 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 2 сентября, 2016 Надо десять раз напечатать. У тебя только один. =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 2 сентября, 2016 Надо десять раз напечатать. У тебя только один. =) Так печатает 10 раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ALeXeR 67 Опубликовано: 4 сентября, 2016 local gpu = require("component").gpu; local str = "Hello world!" for i = 1, str:len() do gpu.fill(i,1,1,10,str:sub(i,i)); end; 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Larban 15 Опубликовано: 12 сентября, 2016 io = require("io") file = io.open("hello.lua","w") file:write("print('hello world')") file:flush() file:close() for i=1,10 do dofile("hello.lua") end load(string.rep("print(\"hello world\")",10))() 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RccHD 136 Опубликовано: 12 сентября, 2017 (изменено) Многопоточный способИспользуя еще недописанную операционку xDКод программы(запущены 10 копий): local c = "Hello world!" local gpu = require("component").gpu for i = 1, #c do gpu.set(i, 1, c:sub(i, i)) os.sleep(0.125) end Изменено 12 сентября, 2017 пользователем RccHD 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 12 сентября, 2017 # resolution 13 11 # yes Hello, World! 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AnothRt 2 Опубликовано: 13 сентября, 2017 (изменено) a = "Hello world!" print(a, a, a, a, a, a, a, a, a, a) Предупреждение:я новичок в кубе, по сути то же самое что и у evgkul, просто в двух строчках. Могу и накосячить(возможно) Я кстать это и подразумевал в чате. Изменено 13 сентября, 2017 пользователем AnothRt 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах