Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не понимаю из-за чего синтаксическая ошибка, assert(not name.isname?) 
V
    Опции темы
setq
Дата 6.7.2007, 23:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

name_style_test.rb:21: syntax error, unexpected kNOT, expecting ')'
      assert(not name.isname?)
                ^
name_style_test.rb:21: syntax error, unexpected ')', expecting kEND


Вот такая ругань идёт в ответ на вот это:

Код

  def test_string_isname_fail
    bad_names = [
      ' a', 'a ', '**', '13', '', ' ', 'a b c', '1abc',
    ]
    for name in bad_names
      assert(not name.isname?)
    end
  end


Не понимаю что тут не так. (В Ruby новичок.)
  Вверх
FunnyFalcon
Дата 7.7.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 27.3.2006

Репутация: 3
Всего: 7



В руби, в отличие от питона, приоритет у операторов 'not', 'or', 'and' очень хитрый (и, видимо, синтаксические правила тоже),
 и лучше ими пользоваться только в пределах 'if', 'unless', 'while' (или вообще не пользоваться)
Используй вместо них сишные аналоги: ! || && - они работают так, как ожидается:
Код

  assert(!name.isname?)

А жаль, буквенные варианты лучше читаются, и шифт не надо жать.
PM MAIL   Вверх
JUmPER
Дата 9.7.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



лучше так:
Код

bad_names.each |name| do
  assert(! name.isname?)
end

всё-таки это руби-стиль =)
--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
y0ma
Дата 11.7.2007, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 9.10.2006

Репутация: нет
Всего: 1



лучше использовать метод include?

кроме всего этого, еще массив как-то криво задан!
последняя запятая лишняя

Это сообщение отредактировал(а) y0ma - 11.7.2007, 21:30
PM MAIL ICQ   Вверх
setq
Дата 11.7.2007, 23:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(y0ma @  11.7.2007,  20:33 Найти цитируемый пост)
лучше использовать метод include?


Где?
  Вверх
y0ma
Дата 12.7.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 9.10.2006

Репутация: нет
Всего: 1



setq, не обращай внимания.. это я неправильно понял.. поспешил.
PM MAIL ICQ   Вверх
setq
Дата 20.8.2007, 21:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да. Если кому-то интересно, то
Код

  f(not x)  #Нельзя
  f( (not x) )  #Можно


  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.