All streams
Search
Write a publication
Pull to refresh
46
0
iv_s @iv_s

User

Send message
Извиняюсь, я вас немного дезинформировал:)
Class переопределить нельзя, а вот метод new в нем можно.
Пример из документации:
   class Class
      alias oldNew  new
      def new(*args)
        print "Creating a new ", self.name, "\n"
        oldNew(*args)
      end
    end

    class Name
    end

    n = Name.new
Насчет Ruby для Java программистов.
Можете на оф. сайте глянуть:
www.ruby-lang.org/en/documentation/ruby-from-other-languages/
Или эту книжку:
www.flazx.com/ebook5807.php
>возможно это хорошая альтернатива Java для небольших проектов.
Очень хорошая, например, потому что еще есть JRuby:)
jruby.codehaus.org/
А смысл? Получиться тот же викибукс про Ruby, только в pdf. Тут основной плюс что в коментариях подсказать могут.
Насчет JavaFX, как у них там сейчас? Я ее смотрел начиная с первого релиза, еще интерпретируемого. Интерпретируемая кстати, намного приятнее чем компилируемая версия была, был очень удобный язык, а сделали в итоге из него туже Java. Но они задолбали все ломать, каждая следующая версия была синтаксически не совместима с предыдущей.
И еще, они же собирались как флеш, плагином к браузеру стать. У них получилось?)
А я читал:) Но там страшно, лучше этого не делать:)
А у меня случился приступ ностальгии и я купил себе Dendy:) В компьютер теперь не играю:)
Да и вайн кстати очень продвинулся в последнее время. Не из новинок практически все запустить можно.
У меня так же сдох винт на 750GB, поменял по гарантии на такой же, уже наполовину данными забит… Теперь спать перестану от паранои:)
>решением является отказ от выключения компьютера
На домашнем компьютере? Юмористы:)
Если мы вызываем super без параметров, то ему автоматически придут те же параметры что и методу, его вызывающему.
Т.е. в данном случае вызов super аналогичен вызову super name, age, а не super nil, nil
Ну а вообще, да, пример какой-то странный:) Потому что, как вы правильно заметели — переменные затераються:
class Dog
	def initialize(name, age)
		@name = name+"  - dog"
		@age = age
		super
	end 
end
dog = Dog.new "Rex", 5
<pre>
В результате @name будет равно "Rex" а не "Rex - dog", потому как  Pet.initialize вызывается со значением "Rex".
Нда, есть такое дело. Но обычно это очень редко случается:)
Я уже давно от дуалбута отказался, за ненадобностью. Но в линуксе есть виртуалка с виндой, если что на совместимость потестить нужно.
Все-таки правильно сказанно в статье, что initialize по настоящему конструктором не является. Конструктор — это метод new который выделяет память и создает объект, а затем вызывает метод initialize. initialize можно рассматривать как просто метод инициализации(что и отражено в его названии:)).
А super в теле метода означает что мы просто вызываем аналогичный метод суперкласса, его можно использовать в любом методе, не только в initialize.
Именно по этому мы не обязаны вызыват super в самом начале initialize, как в Java например.
Переопределить класс Class нельзя, а следовательно и метод new. Но метаклассы создавать можно.
Посмотрите например эти статьи:
whytheluckystiff.net/articles/seeingMetaclassesClearly.html
vision-media.ca/resources/ruby/understanding-ruby-metaclasses
reference.jumpingmonkey.org/programming_languages/ruby/ruby-metaprogramming.html
Насчет 4 пункта, как на Debian с Windows перешел, вообще не представляю, как я раньше без apt-get'а жил:)
Странный какой-то препод:) Кроме 2 и пятого пункта — все и на *nix 'ах использовать можно.
Да и второй пункт, на Flex спокойно писать можно, компилятор есть на всех системах.
Если пользователи Windows смогут выбирать много вариантов, тогда сложно будет оценить соотношение Windows и не Windows пользователей.
Именно по этому 1.9.1 и не включил:)
>По-мне так это самое интересное.
Ага, иак конечно интереснее. И уже были похожие предложения:
habrahabr.ru/blogs/ruby/48952/#comment_1274249
Да, соглашение об именовании.
Хм, Erlang — не для всего, это больше узкоспециализированное средство для построения высоконагруженных и отказоустойчивых серверов. Чего только их платформа OTP стоит, с мониторингом процессов и сменой кода без остановки системы. Вот как раз в таких задачах он, я думаю, и проявит себя.
Уже появились успешные проекты ejabberd, Yaws, CouchDB. Возможно скоро Erlang и в вебдев придет.
Но опять же, не странички генерировать.

А про Twitter и Scala можно по подробнее? Для чего она там используется?

Information

Rating
Does not participate
Works in
Registered
Activity