Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметра (вопрос новичка) 
:(
    Опции темы
and_hom
Дата 19.11.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.6.2007

Репутация: нет
Всего: нет



Здравствуйте!

учу ruby второй час

вот не понимаю

Код

        for i in [1,2,3,4,5,6,7,8,9,0]
            evt_button(find_window_by_id( Wx::xrcid('b'+i.to_s)).get_id ) { 
                typed(i)
            }
        end


в функцию typed параметр i передаётся, кажется, по ссылке, потому как
после нажатия любой кнопки на UI ф-ция вызывается с параметром 0

однако, метод clone для чисел не поддерживается

как передать параметр по значению?

PM MAIL   Вверх
Pete
Дата 21.11.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 2
Всего: 12



Числа передаются по значению.
Т.е.
Код

a = 3
def f(a)
  a = 4
end
a  #=> 3


ЗЫ: зачем, только начав учить язык, сразу пытаться прикручивать гуёвые либы?)


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
and_hom
Дата 25.11.2008, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.6.2007

Репутация: нет
Всего: нет



Цитата(Pete @ 21.11.2008,  00:30)
зачем, только начав учить язык, сразу пытаться прикручивать гуёвые либы?

А в ruby это так сложно? просто стало интересно, насколько язык применим в настольном варианте.

А если числа передаются по значению, в чём тогда моя проблема? Почему  в итоге при вызове callback-а кнопки получается всегда последнее число?
PM MAIL   Вверх
source777
Дата 26.11.2008, 22:11 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(and_hom @  25.11.2008,  12:49 Найти цитируемый пост)
А в ruby это так сложно? 

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




--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
pompei
Дата 3.9.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.9.2007

Репутация: нет
Всего: 6



Цитата(Pete @ 21.11.2008,  00:30)
Числа передаются по значению.
Т.е.
Код

a = 3
def f(a)
  a = 4
end
a  #=> 3


ЗЫ: зачем, только начав учить язык, сразу пытаться прикручивать гуёвые либы?)

Числа тоже передаются по ссылке. Просто вргумент функции - это уже новая переменная, и при изменении её значения, предыдущая переменная не трогается вообще и также ссылается на 3

ЗЫ. В руби всё - есть объект!!!

Это сообщение отредактировал(а) pompei - 3.9.2009, 10:18
--------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап.
PM MAIL   Вверх
GrayCardinal
Дата 3.9.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



pompei
У нас прогнившие трупы поднимать не принято  smile 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0709 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.