Форум программистов, компьютерный форум, киберфорум
Наши страницы
Ruby
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
sashka_anych
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 2
1

Ошибка в примере

18.11.2012, 19:47. Просмотров 516. Ответов 2
Метки нет (Все метки)

Начал недавно изучать Ruby, кратоко прошелся по примерам в книжке в одном из них выдает ошибку, подскажите пожалуйста что не так.
Текст примера:
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# coding: utf-8
def towers(list)
  while !list.empty?
    n,src,dst,aux=list.pop
    if n==1
      puts "Пермещаем диск с #{src} на #{dst}"
    else
     list.push[n-1,aux,dst,src]
     list.push[1,src,dst,aux]
     list.push[n-1,src,aux,dst]
    end
  end
end
 
list1=[]
list1.push([3, "a", "c", "b"])
 
#puts list1
#X=list.towers
towers(list1)
Ошибка:
8:in `[]': wrong number of arguments (4 for 1..2) (ArgumentError)
from /home/alex/Ruby/firstr/towers.rb:8:in `towers'
from /home/alex/Ruby/firstr/towers.rb:20:in `<main>'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 19:47
Ответы с готовыми решениями:

Изучаю классы: работа с документацией на примере метода initialize
Прохожу учебник. Собственно, мне говорят, в классе сделаем метод initialize. ...

Учусь читать документацию: на примере link_to
Нашел документацию по методу link_to Здесь:...

Сайт имеет не такой вид как в примере
Делаю пример с книги &quot;Гибкая разработка веб-приложений в среде Rails (Для...

Ошибка в примере
Итак, столкнулся с такой ошибкой &quot;Программа не содержит статического метода...

Ошибка в примере!
Привет всем! народ найдите плиз ошибки а то я чёт понять не могу, всё вродь...

2
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
19.11.2012, 02:50 2
Ошибка в этом фрагменте:

Ruby
1
2
3
list.push[n-1,aux,dst,src]
list.push[1,src,dst,aux]
list.push[n-1,src,aux,dst]
Нужно либо поставить везде после push пробел, либо взять аргумент метода push в скобки:

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding: utf-8 -*-
#!/usr/bin/env ruby
 
def towers(list)
  while !list.empty?
    n,src,dst,aux=list.pop
    if n==1
      puts "Перемещаем диск с #{src} на #{dst}"
    else
      list.push([n-1,aux,dst,src])
      list.push([1,src,dst,aux])
      list.push([n-1,src,aux,dst])
    end
  end
end
 
list1=[]
list1.push([3, "a", "c", "b"])
 
towers(list1)
1
sashka_anych
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 2
19.11.2012, 08:45 3
Спасибо, разобрался с вашей помощью.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 08:45

Ошибка в примере
Помогите исправить ошибку в коде #include &lt;iostream.h&gt; int main() { int...

Ошибка в примере
Program zada4a; var sr,a,r,s,n,i:integer; begin s:=0; i:=0;n:=0; repeat...

Ошибка в примере из книги
В книге &quot;OpenGL Programming Guide 8th Edition - 2013&quot; Есть код cpp, но пару...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru