if string = "mike" then print "Hi mike"

  • Thread starter Bigmac Turdsplash
  • Start date
B

Bigmac Turdsplash

server/client connection
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb... if str == ???? this if statement is always
skipped and im not sure why?

also, from the server with the gets command i want to send the client a
string like "mike skateboard boxing" then when the client recives this
string how can i brake this into 3 arrays or strings?

#server.rb
require "socket"
dts = TCPServer.new('localhost', 1234)
loop do
Thread.start(dts.accept) do |s|
print(s, " is accepted\n")
#gets, what command to send to the client?
str = gets
s.write(str)
print(s, " is gone\n")
s.close
end
end
------------end of server-------------

#client.rb
require 'socket'
while true
streamSock = TCPSocket.new( "127.0.0.1", 1234 )
str = streamSock.recv( 100 )
print str


if str == 'mike'
print 'Hi mike'
elsif str == 'user'
print 'hi user'
end
end

--------end of client
 
N

Nobuyoshi Nakada

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash wrote in [ruby-talk:335871]:
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb... if str == ???? this if statement is always
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. You can chomp it or use double Ctrl-D
instead of enter.
 
M

Michael Morin

I've gotten into the habit of using gets.chomp when reading input of
any kind. It's so easy to forget that newlines are still on there.

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash wrote in [ruby-talk:335871]:
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb... if str =3D=3D ???? this if statement is alw= ays
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. =A0You can chomp it or use double Ctrl-D
instead of enter.
 
B

Bigmac Turdsplash

Nobuyoshi said:
Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash wrote in [ruby-talk:335871]:
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb... if str == ???? this if statement is always
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. You can chomp it or use double Ctrl-D
instead of enter.

Oh, wow... a bit confused at first but then i googled ruby chomp and
then it made sence, when you press enter \n

if string.chomp == "mike"
print "hello mike\n"
system("calc.exe")

# how can i execute calc.exe and continue with the script well calc is
still running????
 
H

Heesob Park

Hi,

2009/5/6 Bigmac Turdsplash said:
Nobuyoshi said:
Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash wrote in [ruby-talk:335871]:
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb... if str =3D=3D ???? this if statement is al= ways
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. =C2=A0You can chomp it or use double Ctrl-D
instead of enter.

Oh, wow... a bit confused at first but then i googled ruby chomp and
then it made sence, when you press enter \n

if string.chomp =3D=3D "mike"
=C2=A0 print "hello mike\n"
=C2=A0 system("calc.exe")

# how can i execute calc.exe and continue with the script well calc is
still running????
Try
system("start calc.exe")

Regards,
Park Heesob
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,968
Messages
2,570,152
Members
46,697
Latest member
AugustNabo

Latest Threads

Top