Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Файла якобы не существует 
V
    Опции темы
sbos
Дата 29.6.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Заранее извиняюсь, если вопрос покажется участникам совсем уж глупым, но я в руби абсолютный новичок и совершенно не представляю в чем может быть дело.  smile 

Есть код:
Код

fileName = gets
$stdin = File.open(fileName, "r")


И после ввода туда абсолютного пути некоторого файла (точно существующего и со всеми возможными правами доступа) программа выдает: 

Код

05.ruby:7:in `initialize': No such file or directory - /home/sbos/tmp/course/05test.txt (Errno::ENOENT)
        from 05.ruby:7:in `open'
        from 05.ruby:7


В тоже время, если значение fileName установить в этот же самый абсолютный путь (fileName = '/home/sbos/tmp/course/05test.txt'), то все работает.

Как такое может быть? Ruby 1.8, ось - linux. Заранее спасибо

Это сообщение отредактировал(а) sbos - 29.6.2008, 21:30
PM MAIL   Вверх
v2v
Дата 29.6.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



а разве не наоборот? сначало open потом gets ?


--------------------
PM   Вверх
sbos
Дата 29.6.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нет, сначала $stdin не перенаправлен, и я имя файла считываю.
Потом не могу открыть существующий файл с этим именем
PM MAIL   Вверх
v2v
Дата 30.6.2008, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



ну тогда покажи весь код.


--------------------
PM   Вверх
sbos
Дата 30.6.2008, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот так не работает: 

Код

printf("Введите имя файла: ");
fileName = gets
$stdin = File.open(fileName, "r")


Вводится при этом '/home/sbos/tmp/course/05test.txt'

А если напрямую подставить:

Код

printf("Введите имя файла: ");
fileName = '/home/sbos/tmp/course/05test.txt'
$stdin = File.open(fileName, "r")


То почему-то работает
PM MAIL   Вверх
shine
Дата 30.6.2008, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

fileName = gets.chomp

--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin
PM MAIL   Вверх
sbos
Дата 30.6.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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