# RUBY keeps complaining about my "end" statement

**URL:** <https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291>\
**Category:** Ruby\
**Created:** [June 13, 2006, 10:06pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291 "2006-06-13T22:06:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 13, 2006, 10:06pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/1 "2006-06-13T22:06:20Z")

</div>

When I try and run a script that has this as part of it, RUBY keeps  
complaining about my “end” statement. Can someone please help me with  
this? What’s its problem with it?

Thanks.

ps2kfiles =  
Dir.glob(“{aacmc7,acm059,acm061,acmc59,acmt59,adc064,adm064,cbncc7,  
cgmpr,cpslit,cpsmco,edc131,edt131,eeomc7,emgc15,hcc201,hcci01,hct201,hcti01,  
hla020,hlai20,hlb020,hlbi20,hltc20,hlti20,ierc78,itc101,jsc047,lrc013,lrfl21,  
lrnm21,lrrc21,lrrc22,lrrc24,lrrc37,lrrc49,lrrc74,lrrmc6,lrrt37,mopc68,mopd68,  
mopec8,mopt68,pgc117,pslc45,psvc45,rt013,rtc129,uln007}\*.pdf”)  
ps2kfiles.each do |ps2kfile|  
ftp = Net::FTP.open(‘[quark.bna.com](http://quark.bna.com)’)  
ftp.login(‘pb4072’,‘retep1’)  
ftp.chdir(‘/home/pb4072’)  
#ftp.chdir(‘/prod/data/pdf/index-wip’)  
ftp.putbinaryfile(#{ps2kfile})  
end

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 13, 2006, 10:16pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/2 "2006-06-13T22:16:23Z")

</div>

On Jun 13, 2006, at 4:06 PM, Peter B. wrote:

> ftp.putbinaryfile(#{ps2kfile})

Someone forgot quotes around his string interpolation. Of course its  
not really needed here

ftp.putbinaryfile(ps2kfile)

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 13, 2006, 10:16pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/3 "2006-06-13T22:16:35Z")

</div>

On 6/13/06, Peter B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> cgmpr,cpslit,cpsmco,edc131,edt131,eeomc7,emgc15,hcc201,hcci01,hct201,hcti01,  
> hla020,hlai20,hlb020,hlbi20,hltc20,hlti20,ierc78,itc101,jsc047,lrc013,lrfl21,  
> lrnm21,lrrc21,lrrc22,lrrc24,lrrc37,lrrc49,lrrc74,lrrmc6,lrrt37,mopc68,mopd68,  
> mopec8,mopt68,pgc117,pslc45,psvc45,rt013,rtc129,uln007}\*.pdf")  
> ps2kfiles.each do |ps2kfile|  
> ftp = Net::FTP.open(‘[quark.bna.com](http://quark.bna.com)’)  
> ftp.login(‘pb4072’,‘retep1’)  
> ftp.chdir(‘/home/pb4072’)  
> #ftp.chdir(‘/prod/data/pdf/index-wip’)  
> ftp.putbinaryfile(#{ps2kfile})

Just staring at it, perhaps you meant:  
ftp.putbinaryfile(“#{ps2kfile}”)

Les

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 13, 2006, 10:20pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/4 "2006-06-13T22:20:10Z")

</div>

Peter B. wrote:

> cgmpr,cpslit,cpsmco,edc131,edt131,eeomc7,emgc15,hcc201,hcci01,hct201,hcti01,  
> hla020,hlai20,hlb020,hlbi20,hltc20,hlti20,ierc78,itc101,jsc047,lrc013,lrfl21,  
> lrnm21,lrrc21,lrrc22,lrrc24,lrrc37,lrrc49,lrrc74,lrrmc6,lrrt37,mopc68,mopd68,  
> mopec8,mopt68,pgc117,pslc45,psvc45,rt013,rtc129,uln007}\*.pdf")  
> ps2kfiles.each do |ps2kfile|  
> ftp = Net::FTP.open(‘[quark.bna.com](http://quark.bna.com)’)  
> ftp.login(‘xxx’,‘xxx’)  
> ftp.chdir(‘/home/xxx’)  
> #ftp.chdir(‘/prod/data/pdf/index-wip’)  
> ftp.putbinaryfile(#{ps2kfile})

ITYM:  
ftp.putbinaryfile(ps2kfile)

> end

Explanation: you do not need interpolation here, the variable  
‘ps2kfile’ does hold the value you want already.

Oh, and you might want to change your password(s), if they are real.

HTH,

t.

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 13, 2006, 10:19pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/5 "2006-06-13T22:19:47Z")

</div>

Peter B. wrote:

> ftp.putbinaryfile(#{ps2kfile})

ruby is interpreting the # as a comment, since it’s not within a string.  
Try this:

```
ftp.putbinaryfile(ps2kfile)
```

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 14, 2006, 3:01pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/6 "2006-06-14T15:01:20Z")

</div>

Leslie V. wrote:

> On 6/13/06, Peter B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > cgmpr,cpslit,cpsmco,edc131,edt131,eeomc7,emgc15,hcc201,hcci01,hct201,hcti01,  
> > hla020,hlai20,hlb020,hlbi20,hltc20,hlti20,ierc78,itc101,jsc047,lrc013,lrfl21,  
> > lrnm21,lrrc21,lrrc22,lrrc24,lrrc37,lrrc49,lrrc74,lrrmc6,lrrt37,mopc68,mopd68,  
> > mopec8,mopt68,pgc117,pslc45,psvc45,rt013,rtc129,uln007}\*.pdf")  
> > ps2kfiles.each do |ps2kfile|  
> > ftp = Net::FTP.open(‘[quark.bna.com](http://quark.bna.com)’)  
> > ftp.login(‘pb4072’,‘retep1’)  
> > ftp.chdir(‘/home/pb4072’)  
> > #ftp.chdir(‘/prod/data/pdf/index-wip’)  
> > ftp.putbinaryfile(#{ps2kfile})
> 
> Just staring at it, perhaps you meant:  
> ftp.putbinaryfile(“#{ps2kfile}”)
> 
> Les

Yes, that worked. Thank you. I don’t know why it needs the quotes, but,  
I’ll accept it.

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 14, 2006, 2:58pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/7 "2006-06-14T14:58:20Z")

</div>

Logan C. wrote:

> On Jun 13, 2006, at 4:06 PM, Peter B. wrote:
> 
> > ftp.putbinaryfile(#{ps2kfile})
> 
> Someone forgot quotes around his string interpolation. Of course its  
> not really needed here
> 
> ftp.putbinaryfile(ps2kfile)

You’re absolutely right. I put quotes in and it worked. But, I don’t  
quite get it. I don’t remember having to put them in before. Whatever .  
. .

Thanks!

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 14, 2006, 3:03pm UTC](https://www.ruby-forum.com/t/ruby-keeps-complaining-about-my-end-statement/63291/8 "2006-06-14T15:03:25Z")

</div>

Anton ‘tony’ Bangratz wrote:

> Peter B. wrote:
> 
> > cgmpr,cpslit,cpsmco,edc131,edt131,eeomc7,emgc15,hcc201,hcci01,hct201,hcti01,  
> > hla020,hlai20,hlb020,hlbi20,hltc20,hlti20,ierc78,itc101,jsc047,lrc013,lrfl21,  
> > lrnm21,lrrc21,lrrc22,lrrc24,lrrc37,lrrc49,lrrc74,lrrmc6,lrrt37,mopc68,mopd68,  
> > mopec8,mopt68,pgc117,pslc45,psvc45,rt013,rtc129,uln007}\*.pdf")  
> > ps2kfiles.each do |ps2kfile|  
> > ftp = Net::FTP.open(‘[quark.bna.com](http://quark.bna.com)’)  
> > ftp.login(‘xxx’,‘xxx’)  
> > ftp.chdir(‘/home/xxx’)  
> > #ftp.chdir(‘/prod/data/pdf/index-wip’)  
> > ftp.putbinaryfile(#{ps2kfile})
> 
> ITYM:  
> ftp.putbinaryfile(ps2kfile)
> 
> > end
> 
> Explanation: you do not need interpolation here, the variable  
> ‘ps2kfile’ does hold the value you want already.
> 
> Oh, and you might want to change your password(s), if they are real.
> 
> HTH,
> 
> t.

That worked. And, it is simpler. It’s not a string, anyway, so, why  
would I need the #{}s, right? Thank you! No, those aren’t my  
credentials. That’s a fake password and credentials.
