ruby

На сайте Ruby в шапке сайта среди прочих проскакивает такой вот листинг:

# Output "I love Ruby"
say = "I love Ruby"
puts say

# Output "I *LOVE* RUBY"
say['love'] = "*love*"
puts say.upcase

# Output "I *love* Ruby"
# five times
5.times { puts say }

И вот что, после этого нельзя сказать, что Ruby — совершенно крейзанутый язык? На всю башку?..

[tags]программирование, ruby, россыпь[/tags]

Posted on October 23, 2008 at 2:05 AM by Dinexi · Permalink
In: главная · Tagged with: 

6 Responses

Subscribe to comments via RSS

  1. Written by Alexey Feldgendler
    on 23/10/2008 at 9:02 PM
    Reply · Permalink

    Я ненавижу такие языки. Меня просто в закорючку сворачивает и разворачивает обратно, когда я вижу какую-нибудь очередную «красивую» конструкцию, которая позволяет сэкономить пару строк в распространённом случае, потому что я знаю, что обратная сторона этого синтаксического сахара — часы отладки за поиском какой-нибудь мелочи. Когда в языке какое-нибудь эдакое волшебство срабатывает тогда, когда не ожидалось, или не так, как ожидалось, то результаты могут отдаться так, что хрен найдёшь причину. Сколько человеко-лет загублено в масштабах планеты на поиски ошибок из-за одного только «сложения» числа со строкой!

  2. Written by Stanislav
    on 27/10/2008 at 5:17 PM
    Reply · Permalink

    Красота тут относительная; но сам понимаешь, я число со строкой складывать не буду.

  3. Written by Alexey Feldgendler
    on 01/12/2008 at 9:35 PM
    Reply · Permalink

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

  4. Written by Stanislav
    on 01/12/2008 at 10:00 PM
    Reply · Permalink


    stanis@nav:~$ irb
    irb(main):001:0> 1 + "a"
    TypeError: String can't be coerced into Fixnum
    from (irb):1:in `+'
    from (irb):1

  5. Written by Alexey Feldgendler
    on 02/12/2008 at 8:19 AM
    Reply · Permalink

    Конкретно что касается этого сложения — я не про Ruby говорил. В Ruby набор спотыкалочек свой отдельный, которого я не знаю, но некоторые подозрительные конструкции показаны в этом посте.

  6. Written by Stanislav
    on 02/12/2008 at 8:51 AM
    Reply · Permalink

    У руби несколько иная мотивация, так что в целом мимо тазика.

Subscribe to comments via RSS

Leave a Reply