private Boolean isOn = false; public void doSomeStuffAndToggleTheThing(){ synchronized(isOn){
Это ужасная идея.
isOn
будет ссылаться на тот же объект, что иBoolean.FALSE
, который является общедоступным. Если какой-либо другой фрагмент плохо написанного кода также решает заблокировать этот объект, две совершенно несвязанные транзакции должны будут ждать друг друга.Замки выполняются на экземплярах объекта , а не на переменные, которые ссылаются на них:
[/g1]
Ну, Вы не указывали направляющие, таким образом, я собираюсь бросить Обувь там. Во-первых, создание приложений обуви является, вероятно, лучшим способом изучить Ruby (Направляющие является большим, но я нахожу освоение Ruby намного более забавный/полезный). Во-вторых, в то время как я, конечно, не думаю, создавая межплатформенные компоненты UI, тривиально, обувь является относительно новым, и относительно маленьким. Существуют несомненно бесчисленные дополнения, которые могли быть сделаны.
Активные проекты на Rubyforge являются великолепным местом для запуска. То, что было бы хорошим проектом начинающего, должно выбрать тот, который довольно популярен, но не много разработчиков.
, Если Вы интересуетесь Ruby on Rails, я работаю над Redmine прямо сейчас. Это было одним из самых активных проектов и только имеет 5 разработчиков. направляющие С открытым исходным кодом также имеет хороший набор проектов.
я нашел выполнение Refactotum отличный способ начать на проекте. Используйте то, что Вы являетесь новыми в ваших интересах, большинство людей, которые были на проекте, забывает о простых вещах как зависимости от драгоценного камня и документация
Вместо того, чтобы присоединиться к проекту с открытым исходным кодом, найдите зуд, который Вы хотите поцарапать.
я нахожу, что мой первый год с языком, почти всегда выбрасывают код (или по крайней мере, он должен быть).
Находят проблему, которую Вы (лично) хотите решить. Используйте рубин, чтобы сделать это. Вы изучите много.
Озирайтесь на github для некоторых проектов с открытым исходным кодом. Некоторые более популярные проекты:
Популярный Разветвленный список и Вы будете, вероятно, видеть что-то, что интересует Вас.
Я думаю, пытаетесь ли Вы узнать, что новый язык делает что-то забава на том языке.
я изучил Python путем записи большого количества поисковых роботов и небольших игрушек, и для рубина я возьму точно тот же путь. Вместо того, чтобы найти проект, который должен ввести, делают несколько небольших персональных проектов получить ощущение языка. Вы узнаете больше путем выполнения чего-то затем путем чтения большого количества примеров и другого кода народов за те первые несколько месяцев.
язык А как Ruby структурирован таким способом, которым можно сделать что-то продуктивное прямо из поля без большой поддержки так переход прямо в и сделать что-то забава, а не думать, что необходимо сделать что-то для кого-то еще прямо в начале экспериментирования с новым языком.
весело проводят время с Ruby, это находится в моем коротком списке вещей играть с :)
Как насчет написания небольших игр ? Возьмите себе RubyGame и начните с создания простых игр. Сделайте тетрис, змею, что-нибудь действительно простое. Это очень весело, и вы узнаете много базовых вещей о языке.