[Ruby] - Задай вопрос, получи ответ

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Sharky, 24 Aug 2009.

  1. superboy4

    superboy4 Banned

    Joined:
    17 Jul 2007
    Messages:
    151
    Likes Received:
    19
    Reputations:
    -8
    geezer.code
    please, tell me what this short code does....
    I got it from guides.rubyonrails.org ;)

    PHP:
    class ApplicationController ActionController::Base
      helper 
    :all # include all helpers, all the time
      
    protect_from_forgery # See ActionController::RequestForgeryProtection for details

      # Scrub sensitive parameters from your log
      # filter_parameter_logging :password
    private
      
    def current_user
        
    @_current_user ||= session[:user_id] && User.find(session[:user_id])
      
    end
      
      def require_login
        unless logged_in
    ?
          
    flash[:error] = 'Войдите либо зарегистрируйтесь!'
          
    redirect_to root_url
        end
      end
      
      def logged_in
    ?
        !!
    current_user
      end
      
    end
     
    #81 superboy4, 8 Jan 2010
    Last edited: 9 Jan 2010
  2. Энжел

    Энжел New Member

    Joined:
    13 Jan 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите пожалуйста) Мне сказали обратиться в этот раздел. И что мне нужен "накрутчик"

    Вопрос))

    Как сделать так чтобы сайт не определял АйПи.
    Пока пользуюсь программой Прокси Свитчер.
    Но все равно получается медленно голосовать и не всегда Прокси получается обмануть сайт.

    (ну или как очень очень быстро менять айпи...и чтобы я инет не сломала))
    Соперники набирают голоса слишком быстро...вероятно у них лучше способы, чем мой.


    Вот ссылка на сайт (Голос начисляется только после подтверждения с почты)

    http://yournewstyle.com.ua/styles/167
     
  3. RexTiam

    RexTiam Member

    Joined:
    2 Nov 2009
    Messages:
    117
    Likes Received:
    45
    Reputations:
    5
    А не проще воспользоваться программой IP Address Change ? в паблике она есть.
     
  4. Colkru

    Colkru Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    100
    Likes Received:
    69
    Reputations:
    9
    Подскажите, как можно узнать id капчи Recaptcha, например отсуда http://www.xilero.net/forums/login.php?do=lostpw
     
  5. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    400
    Likes Received:
    118
    Reputations:
    23
    Нужно вызвать оригинальную функцию при перегрузке ее же, что-то типа этого (только это не правильно):
    Code:
    require 'net/http'
    
    class  Net::HTTP
      def get(path,headers)
          puts "my code"
          return self.get(path,headers)
      end
    end
    http=Net::HTTP.new('mail.ru', 80)
    puts http.get('/','')
    делать дополнительный метод класса, в котором вызвать необходимую-для-перегрузки функцию т.е. вот так
    Code:
    require 'net/http'
    
    class  Net::HTTP
      def my_get(path,headers)
        puts "my code"
        return self.get(path,headers)
       end
    end
    http=Net::HTTP.new('mail.ru', 80)
    puts http.my_get('/','')
    
    не катит, нужно именно перегрузить
     
    #85 lukmus, 23 Feb 2010
    Last edited: 23 Feb 2010
  6. Magog

    Magog New Member

    Joined:
    10 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Вопрос. Существуют ли скрипты которые отслеживают активность пользователя вконтакте и в ICQ?
    Пример, того что нужно: Пользователь ICQ:123456 вышел в онлайн в 22:30 покинул ICQ в 23:10

    И вообще, цена вопроса написания данных скриптов?
     
  7. vitaliy_n73

    vitaliy_n73 Member

    Joined:
    2 Jul 2009
    Messages:
    98
    Likes Received:
    21
    Reputations:
    0
    Так как роздел для новачков в программировании решил запостить сюда,подскажите с какого языка лудше начинать учить программирование?
     
  8. Flcn

    Flcn Member

    Joined:
    6 Jul 2009
    Messages:
    56
    Likes Received:
    6
    Reputations:
    0
    А в чем разница между классом у сущности и суперклассом ?
    заранее спасибо
     
  9. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    vitaliy_n73
    с английского.

    как это называется по-английски?
     
  10. superboy4

    superboy4 Banned

    Joined:
    17 Jul 2007
    Messages:
    151
    Likes Received:
    19
    Reputations:
    -8
    What is the difference between class and superclass?
    Thanks anyway.
     
  11. Flcn

    Flcn Member

    Joined:
    6 Jul 2009
    Messages:
    56
    Likes Received:
    6
    Reputations:
    0
    Например у объекта класс .class это Class а superclass это Object
    в свою очередь у Class класс это он сам и есть, а superclass это Module и так далее..
    это в 1.8
     
  12. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    эээ... ну чтото вы путаете. class и superclass это не термины руби
    class - это класс
    superclass - это класс предок(наследованный класс)
    Code:
    class Tree
    ...
    end
    
    class Oak < Tree
    ...
    end
    
    myOak = Oak.new
    
    Тогда классом для myOak будет Oak, a superclass для myOak будет Tree.

    ответ придумайте сами. и то класс и это
     
    #92 geezer.code, 7 Apr 2010
    Last edited: 7 Apr 2010
  13. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    400
    Likes Received:
    118
    Reputations:
    23
    как однозначно определить тип входной переменной для метода.
    что-то типа
    Code:
    def (String a)
    ...
    end
    
    только это не верно
     
  14. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    в чем сокровенный смысл?
    Насколько я знаю, средствами языка - никак. Это противоречит принципу duck-typing.

    P.S.
    есть сторонние либы,которые позволяют провернуть такой трюк.
    http://mephle.org/StrongTyping/
    http://www.rubyist.net/~nobu/ruby/overload.tar.bz2

    однако такой подход не ruby-style.
     
    #94 geezer.code, 9 Apr 2010
    Last edited: 9 Apr 2010
  15. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    400
    Likes Received:
    118
    Reputations:
    23
    можно и проще это сделать без сторонних библиотек, напр:
    Code:
    def fucn (a)
      if !(a.is_a? String) then return -1 end
      ...
    end
    
    но только это не круто
     
    1 person likes this.
  16. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    это не совсем то о чем я хотел написать.
    эти либы дают возможность не просто проверить тип, а именно вызвать ту функцию, переданный аргумент которой соответствует принимаемому.
    то есть банальная перегрузка методов, которая с самого начала не предусмотрена в языке.
     
  17. XPYMGT

    XPYMGT New Member

    Joined:
    11 Apr 2009
    Messages:
    34
    Likes Received:
    3
    Reputations:
    0
    Что посмотрел я на этот руби выводы: он по ходу более объектно ориентированный чем питон, синтаксис у него избыточный(эти if then endif else endelse). Помню когда-то читал что тормознутый он, насколько слабее питона, никто не скажет? Покажите мне хотя бы одну программу на руби.
     
  18. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    400
    Likes Received:
    118
    Reputations:
    23
    metasploit, есть nmap на ruby, ROR итд, их немерянно, а насчет тормознутости ты частично не прав, вот тест скорости хабравцев:

    по ООП он уступит только Smalltalk
     
  19. xciss

    xciss New Member

    Joined:
    1 Jun 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    такого конечно нету.
    В том плане что красиво объявить аргументы функции не получится. Но можно создать прокси-объект и еще тонну извращений.

    В общем я потихоньку копаю си и сорсы руби и могу сделать своё глупое заключение -> разработчики просто не стали париться.
    (да и нафига оно надо? -> как уже кто-то здесь сказал: "return unless args.kind_of? Array"

    Объект в руби это обычная си-структуфра.
    Когда мы передаем объект в аргумент функции, передаётся не сам объект, а только указатель на него (сам объект лежит в хипе).

    Так что возможно разработчики решили упростить. Что в общем вполне нормально для языка такого типа.

    + не смотря на то, что указать класс явно нельзя - возможности аргументов в руби просто шикарны ( *args/ procs-objects/ blocks )
     
  20. xciss

    xciss New Member

    Joined:
    1 Jun 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    1.8 конечно медленный.
    1.9 -> в 5 раз быстрее (потому как встроили виртуальную машину)
    есть реализация Jruby которая работает вроде бы в 1.5 раза быстрее 1.9
    + есть реализация на C# (IronRuby)
    + есть реализация с использованиями llvm (или какой-то другой вирт машины)

    В целом можно сказать что скорость последних версий руби сравнима со скоростью пайтона. (конечно же обычного)

    В любом случае, движуха в сторону ускорения руби имеется.


    P.S. синтаксис аля перл. можно сказать что избыточен, по началу напрягает то, что можно обходиться без return ->

    PHP:
    def is_equal()
      
    true if object
    end
    с другой стороны писать return xxx if yyy иногда очень удобно.
    конечно никто не запрещает писать старое доброе
    if yyy
    xxx
    или даже

    if yyy then xxx;

    можно даже ставить ';' в конце :D

    + очень крутые нововведения в нейминге методов, например:
    PHP:
    def finded?(object)
      return 
    true if Objects.exists?(object)
    end

    def baaang
    !(object)
    и т.д. )
     
    #100 xciss, 2 Jun 2010
    Last edited: 2 Jun 2010