Пето предизвикателство

  1. Какво трябва да се случи, ако има обект, който отговаря на метод с търсеното име, но очаква различен брой аргументи и/или очаква/не очаква блок? NoMethodError ли трябва да се предизвика, или ArgumentError, т.е. това, което метода на съответния обект би направил и без това в съответния случай?

  2. Методите трябва да имат абсолютно същото поведение, като методите на обектите, които Abomination инстанцията съдържа. Ако даден метод foo приема блок, то и Abomination#foo трябва да приема блок, ако foo хвърля изключения, то и Abomination#foo трябва да хвърля изключения и т.н.

  3. https://gist.github.com/4391011 Това вече не е за предизвикателството, а за домашното, но реших тук да пиша като продължение за проблема. Пак ми дава същата грешка "invalid byte sequence in US-ASCII (ArgumentError)" въпреки коментара и нямам идея какво да правя. Има ли начин да открия дали имам кирилица в кода и на кой ред е? (Текстов редактор NotePad++)

  4. Нели, при мен с Ruby 1.9 този файл си работи перфектно като изпълня ruby solution2.rb (т.е. не ми дава въпросната грешка). Ако грешката идва от другаде, дай точната команда, която изпълняваш, за да възникне тази грешка. Още, ако е команда, която пускаш в твоята репозитория, качи всички файлове в репозиторията си и ги push-ни към GitHub, за да може да пресъздадем проблема по-лесно.

  5. Какъв е енкодинга, който ползваш при записване на файла. Трябва да е или Encode in UTF-8 without BOM (отдолу в статус бара изписва UTF-8 as ANSI) или Encode in ANSI, ако нямаш кирилца.

    Ако си го записала като Encode in UTF-8 това добавя byte order mark (http://en.wikipedia.org/wiki/Byte_order_mark). Това създава проблеми с някой програми, да си призная честно за ruby не знам :smile:

Трябва да сте влезли в системата, за да може да отговаряте на теми.