Key Points

Перша сесія з GAP


  • Пам’ятайте, що GAP чутливий до регістру!
  • Не панікуйте, якщо побачите Error, Variable: 'FuncName' must have a value.
  • Звертайте увагу на імена змінних і функцій.
  • Використовуйте редагування командного рядка.
  • Використовуйте автозаповнення замість повного введення імен функцій і змінних.
  • Використовуйте ? та ??, щоб переглянути сторінки довідки.
  • Встановіть HTML в якості стандартного формату довідки за допомогою SetHelpViewer.
  • Використовуйте функцію LogTo, щоб зберегти всі введення та виведення GAP у текстовий файл.
  • Якщо обчислення триває занадто довго, натисніть -C, щоб перервати його.
  • Прочитайте «Перше заняття з GAP» у підручнику з GAP.

Ще декілька об’єктів GAP


  • GAP має безліч різноманітних безпосередніх, позиційних і складових об’єктів.
  • Арифметика списків є дуже гнучкою та потужною.
  • Такі об’єкти, як списки та записи, підходять для зберігання структурованих і пов’язаних даних.

Функції в GAP


  • Командний рядок добре підходить для прототипування; функції підходять для повторних обчислень.
  • Інформативні назви функцій і коментарі зроблять код більш читабельним для вас і інших.
  • Остерігайтеся неоголошених локальних змінних!

Використання регресійних тестів


  • Легко створити тестовий файл, скопіювавши та вставивши сеанс GAP.
  • Написання хорошого та комплексного набору тестів вимагає певних зусиль.
  • Зробіть спочатку правильно, а потім швидко!

Пошук малих груп


  • Організуйте код у функції.
  • Створюйте малі групи одну за одною замість того, щоб створювати їх величезний список.
  • Використання SmallGroupsInformation може допомогти зменшити простір пошуку.
  • GAP не є чарівним інструментом: теоретичні знання можуть допомогти набагато більше, ніж підхід грубої сили.

Атрибути та методи


  • Позиційні об’єкти можуть накопичувати інформацію про себе протягом життя.
  • Це означає, що наступного разу збережену інформацію можна буде відновити без жодних витрат.
  • Методи — це групи функцій; Вибір методів GAP вибере найефективніший метод на основі типу всіх аргументів.
  • ‘Метод не знайдено’ — це особливий вид помилки з корисними інструментами налагодження, які допомагають її зрозуміти.