본문 바로가기

프로그래밍/RUBY

루비 언어 기초 문법들 한번에 알기 출력 부터 해쉬 까지 !!!!!!!!!!!!

루비언어 루비온레일즈(Ruby on rails),시나트라(Sinatra) 개발을위해 필요한 루비언어를 알려드리도록하겠습니다.

일단 개발 용어 같은것들은 설명해놓은것부터보세요~

여기 를 클릭해 주세요.

보고오신분들만 이해하실수있으신겁니다.

출력된 결과물 앞에는 result : 이렇게 하겠습니다.

개발 환경 구축 : 여기











주석(Comment)


#주석입니다.

앞에 #을 붙이면 코드를 실행할때 #뒤에 있는부분은 제외가됩니다.

ex) puts "lomal" #lomal이라는 것을 출력합니다.

result : lomal

다른 방법으로도 주석처리가 가능합니다.

=begin

주석처리할 문장

=end

begin 과 end 사이 코드를 묶으면 해당영역이 주석처리가됩니다.



출력(output,print)


print "넣고싶은문자,문자열,숫자등 가능"

puts "넣고싶은문자,문자열,숫자등 가능"

ex)puts "로말의 블로그입니다.123"

로말의 블로그입니다.123

이렇게 화면에 출력이됩니다.

a="lomal"

puts a

result : lomal


a라는 박스에 lomal을 저장하고

puts 에서는 a라는 박스에 있는것을 출력해라 라고 씌여있네요.


print 와 puts 의 차이점은

print 는 줄 바꿈을 안해주고 puts 는 줄바꿈을해줍니다.

ex)print"lomal"

print"lomal"

result : lomallomal


puts "lomal"

puts "lomal"


result : lomal

lomal


이렇게 출력이됩니다.


연산(Arithmetic Operation)


더하기(+)


빼기(-)


곱하기(*)


나누기(/)


거듭제곱(**)


(~로 나눈) 나머지(%)


a=1+1

result : 2

a=2-1

result : 1

a=1*2

result : 2

a=6/2

result : 3

a= 3 ** 4

result : 81

23%3

result : 2

문자들끼리도 가능합니다.

a="lo"+"mal"

result : lomale


반복문(for statement)


0.upto(5) do 

puts "로말"

end


이렇게 쓰면 로말 이 6번 출력이됩니다.

설명해드리면

0부터.upto(5번까지 do end 사이 코드를 반복적으로 실행해라.do 

puts "로말"

end

0에서 출발을하여 5번에 도달하면 빠져나와라 입니다.

저기 써놨는지는 몰라도 0부터 5까지면 0 1 2 4 5 이렇게 6번이 출력이됩니다.

0을 포함해서 합니다.

ex) 0.upto(2) do 

puts "하이"

end

하이

하이

하이


0.upto(5do |i| 

puts "로말 #{i}"

end


result : 로말 0

로말 1

로말 2

로말 3

로말 4

로말 5

이렇게 하면 i 라는 변수에 0~5를 짚어넣어서 #{변수명} 이런식으로 출력해줍니다.


7.downto(2) do |i|

puts "하이 #{i}"

end

result : 하이 7

하이 6

하이 5

하이 4

하이 3

하이 2

이렇게 됩니다.


응용

a=0

0.upto(3) do |x|

a=a+x

puts x

end

result : 0

2

4

7

이렇게 됩니다.

downto 는 거꾸로 되겠죠.

다음 반복문은 while 입니다.

while 은 말로설명하기 힘든데..

조건을 걸어놓고 그조건이 끝날때 까지 코드가 실행되는것입니다.

a=0

while a<10

a=a+2

puts a

end

puts "a is 10 or over the 10"

result : 2

4

6

8

10

a is 10 or over the 10

이렇게 됩니다.

무한 루프 : 무한적으로 해당코드를 실행하는것.


while true

puts "hello~"

end

puts "goodbye"

result : hello~


hello~를 무한적으로 출력해줍니다.


설명해드리겠습니다.

while 은 해당 조건이 충족시키면 코드를 실행시켜주고.

해당 조건에 충족하지 않으면 코드를 실행하지않습니다.

그런데 while true 언제나 충족시키니 프로그램을 종료하기전까지 계속 hello~

를 출력시켜줄겁니다.

goodbye 는 절대로 볼수가없습니다.



조건문(Conditionals)

puts "how old are you?"

age = 16

if age <=18

puts "you are audult"

else

puts "get out kid"

end


result : how old are you?

get out kid

라는 결과가 출력됩니다.

설명드리겠습니다.

age 라는 변수에 16이라고 저장이됩니다.

age <= 18

age 가 18과 같거나 높냐고물어봅니다.

age 가 18과 같지고 높지도 않아서.

else 로가서 get out kid 를 출력해주고 종료합니다.


if 조건문입니다.

~~가 맞으면 if에서 else 또는 end 를 맞나기전까지 있는 코드를 출력해주고 종료

~~가 틀리면~~가 맞으면 else 에서 end 사이 코드를 출력해주고 종료


같다(==)


다르다(!=)


작다(<)


작거나 같다(<=)


크다(>)


크거나 같다(>=)



배열(Arrangement)


a=["apple","banana","cabbage"]

puts a

result : apple

banana

cabbage

이렇게 출력이됩니다.


원래 배열을 알기전에는

a="apple"

b="banana"

c="cabbage"

라고 적었어야되는데

한개의 변수에 여러개를 저장할수있어 더욱 편리하게 코딩가능 ㅋ

근대 puts a 를 하면 apple banana cabbage 다 떠서..

각각 뜨게하려면.

puts a[0]

result : apple

제가 언제나 말했듯이 0부터 시작이됩니다.

puts a[0]

puts a[1]

puts a[2]

result : apple

banana

cabbage

이렇게 각각 출력이됩니다.

puts a[-1]

result : cabbage 가출력이됩니다.



해쉬(hash)

해쉬는 여러개의 데이터를 그룹지어서 하나의 묶음으로 구성하는 형태입니다.

my = {:name => "Lomal", :Gender => male, :age => 99}

puts "my name is : #{my[:name]}"

puts "my Gender is #{:Gender}"

puts "my age is #{:age}"

result : my name is Lomal

my Gender is male

my age is 99


위와같이 출력이가능합니다.


만약 puts my

result : {:name => "Lomal", :Gender => male, :age => 99}

이 출력됩니다.

오늘 여러가지를 배웠습니다.

대부분 이정도면 될겁니다.

(제 생각에는 그렇습니다.)

많이 읽어보시면 이해되실수있으실겁니다.

직접 제가 써놓은 코드를 실행하면서 하시면 이해하실수있으실겁니다.

숫자 바꿔가면서 계속 하면 어디가 어디고 알수있죠 ㅋㅋ


저도 저렇게 하면서배웠습니다.


그리고 공감좀 눌러주세요!!!!!!

모르는 부분은 댓글써주세요.

이메일,메신저 써주시면

같이공부하거나

제가 아는한 알려드릴께요.