Перейти к содержимому


Фотография

[1.7.10] ComputerCraft [1.74]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2863

#2081 Ukrainian

Ukrainian

    Странник

  • Пользователи
  • Сообщений: 83

Написал 17.06.2013 - 18:57

; тут ни при чём, возвращаемые значения пишутся в той же строке, что и return.

Как сказал Lexor:

return не завершает, а возвращает следующую за ним переменную или функцию. В данном случае возвращает print("bbbbb")

То есть возвращается функция print, которая находится на другой строке:
function a()print("aaaaa")returnprint("bbbbb")enda()
И кто из вас прав? А про отсутствие смысла у того кода я уже писал, я его написал чисто что бы проверить как работает return.

#2082 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 17.06.2013 - 20:02

Всем привет, у меня есть одна трудность, я забыл код для управления клавиатурой программы, можете напомнить?

#2083 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 17.06.2013 - 20:26

Покури Lua > События. Хз, почему события в Луа, они в CraftOS должны быть..

#2084 Cyxapuk

Cyxapuk

     

  • Главные модераторы
  • Сообщений: 8706
  • Ник в Minecraft:
    Meegoo

Написал 17.06.2013 - 21:47

В каком смысле управление клавиатурой программы?

V6xCzSN.png


#2085 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 18.06.2013 - 03:01

; тут ни при чём, возвращаемые значения пишутся в той же строке, что и return.

Вовсе не обязательно. Только что экспериментально проверил - return возвращает следующую за ним переменную даже если она идет другой строкой. Вот пример:
Скрытый текст
Переменная "a" идет другой строкой но return ее возвращает.
Скрытый текст
Функция print исполняется возвращаясь, уж извините за каламбур :) т.е по сути return ее просто выполняет.

#2086 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 18.06.2013 - 11:20

В каком смысле управление клавиатурой программы?

Программа управляется с помощью клавиш клавиатуры.

#2087 Cyxapuk

Cyxapuk

     

  • Главные модераторы
  • Сообщений: 8706
  • Ник в Minecraft:
    Meegoo

Написал 18.06.2013 - 11:37

event, scancode = os[paste][/paste]pullEvent("key")print(tostring(scancode)[paste][/paste][paste][/paste]" was pressed[paste][/paste]")
не прокатит? scancode - номер нажатой клавиши

V6xCzSN.png


#2088 RP2Crafter

RP2Crafter

    Добытчик камня

  • Пользователи
  • Сообщений: 217

Написал 18.06.2013 - 11:38

В каком смысле управление клавиатурой программы?

Программа управляется с помощью клавиш клавиатуры.

Изображение


#2089 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 18.06.2013 - 17:41

То что нужно, спасибо всем. Опять я, как сделать обновление часов?

#2090 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 19.06.2013 - 02:40

Опять я, как сделать обновление часов?

Для начало надо бы выражать свои мысли яснее. Что за часы то?

#2091 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 19.06.2013 - 08:21

Сори, вчера не успел до конца написать, короче, есть на компе часы, которые должны вроде бы показывать время, но они не обновляются, т.е. они просто застряли на определённых цифрах и идут дальше только если нажать любую клавишу. а, ещё вот, где можно найти русификатор для ComputerCraft?

#2092 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.06.2013 - 09:00

типа такого код должен работать:
while true do	t=timer(1)	os[paste][/paste]pullEvent('timer')	--Обновление часовend
Не проверял и не знаю, правильно ли я с таймером всё сделал.

#2093 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 19.06.2013 - 09:18

типа такого код должен работать:

while true do	t=timer(1)	os[paste][/paste]pullEvent('timer')	--Обновление часовend
Не проверял и не знаю, правильно ли я с таймером всё сделал.

Ошибку выдаёт: Attempt to call nil Ошибка на строчке t=timer(1)

#2094 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.06.2013 - 10:35

тогда пробуй os.timer

#2095 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Сообщений: 183

Написал 19.06.2013 - 10:38

У тебя несколько программ работают вместе или одна?

#2096 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 19.06.2013 - 14:12

У меня работают несколько, кстати, os.startTimer работает, по отдельности, но не знаю как с часами будет.С часами не работает.

#2097 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.06.2013 - 14:26

Нене, таймер один? Там вроде в событиях можно различать таймеры.

#2098 Xytabich

Xytabich

    Странник

  • Пользователи
  • Сообщений: 54
  • Откуда: Россия

Написал 19.06.2013 - 14:35

Короче, с таймером не работает.Решил проблему, но теперь не работают другие функции =)Даже не знаю как поступить, оставить все функции и убрать часы, или не знаю что делать...

#2099 Ukrainian

Ukrainian

    Странник

  • Пользователи
  • Сообщений: 83

Написал 19.06.2013 - 15:05

Кто мне расскажет как работает этот код:
a=tonumber(tArgs[1]) or 10
Если пользователь не ввел аргументы при запуске программы, то переменная становится равна 10. Но почему так? Ведь or, это логический элемент, он может вернуть или true или false?

#2100 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Сообщений: 183

Написал 19.06.2013 - 15:10

Я тоже часто применяю это.or - проверяет первый операнд, и если он не nil, присвает его значение переменной, иначе - второго операнда.and - наоборот, если первый не nil, присваевает второй и наоборот.По поводу часов. Если уж так много функций, сдеалй из них thread, при помощи coroutine.create() и циклом их гоняй. Псевдораспаралелливание ёпт.


Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных