# Uninitialised Constant Files \<NameError\>

**URL:** <https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278>\
**Category:** Ruby\
**Created:** [August 24, 2009, 9:43am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278 "2009-08-24T09:43:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 24, 2009, 9:43am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/1 "2009-08-24T09:43:49Z")

</div>

Hi all,

I was trying a simple Ruby program using flat files ,but at certain  
point in a program which says:  
if Sub==“DATE” :array\_sentence=Files.readlines(“date.txt”)

in program I was thrown with the error:

Uninitialised Constant Files

It would be great if somebody could guide me with this error.

Thank you in advance  
Deepika

---

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 24, 2009, 10:22am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/2 "2009-08-24T10:22:13Z")

</div>

Try Files without ‘s’.

if Sub==“DATE” :array\_sentence=File.readlines(“date.txt”)

---

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 24, 2009, 10:34am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/3 "2009-08-24T10:34:43Z")

</div>

Deepika Yp wrote:

> in program I was thrown with the error:
> 
> Uninitialised Constant Files
> 
> It would be great if somebody could guide me with this error.

Identifiers which start with a capital letter are constants.

The error says that there is no constant in your program called “Files”.  
Unless you have defined one, this is correct.

However there is a constant (class) in the standard library called  
“File”.

---

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 24, 2009, 10:43am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/4 "2009-08-24T10:43:03Z")

</div>

Michal Zacik wrote:

> Try Files without ‘s’.
> 
> if Sub==“DATE” :array\_sentence=File.readlines(“date.txt”)

…but then you’re left with trying to assign to a symbol.

---

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 25, 2009, 6:11am UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/5 "2009-08-25T06:11:51Z")

</div>

Thanks a lot !!! it worked…

---

<div class="post-metadata">

**Author:** ![deepika](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@deepika](https://www.ruby-forum.com/u/deepika)\
**Post date:** [August 24, 2009, 2:30pm UTC](https://www.ruby-forum.com/t/uninitialised-constant-files-nameerror/174278/6 "2009-08-24T14:30:26Z")

</div>

On Mon, Aug 24, 2009 at 4:43 AM, 7stud –[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Michal Zacik wrote:
> 
> > Try Files without ‘s’.
> > 
> > if Sub==“DATE” :array\_sentence=File.readlines(“date.txt”)
> 
> …but then you’re left with trying to assign to a symbol.

Yep, I suspect he (kind of) wants

if sub==“DATE” : array\_sentence=File.readlines(“date.txt”) end

Now I don’t think that this form of if is particularly attractive, and  
Ruby 1.9 has done away with using : for then.

I’d rewrite this using the if modifier:

array\_sentence=File.readlines(“date.txt”) if sub==“DATE”

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)  
WWR: [http://www.workingwithrails.com/person/9021-rick-denatale](http://www.workingwithrails.com/person/9021-rick-denatale)  
LinkedIn: [http://www.linkedin.com/in/rickdenatale](http://www.linkedin.com/in/rickdenatale)
