루비/루비 기초 +1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#-*- coding: utf-8 -*-
NAME = ["아이언맨""헐크""토르""스파이더맨"]
 
NAME.each do |ava|
  puts ava
end
=begin
아이언맨
헐크
토르
스파이더맨
=end
 
 
for data in NAME
  puts data
end
=begin
  아이언맨
  헐크
  토르
  스파이더맨
=end
cs

========================================================================================================================
루비에서는 반복문을 사용할 때  for x in a..b 이런 구조보다 x.each do |y| 의 구조를 더 선호해서 사용한다고 한다. 물론 위에서 처럼 결과는 동일하다.
 



in x..y 와 in x...y 의 차이점 ---------------------------------------------------------

in x..y 의 범위(range)는 x 부터 y 를 모두 포함한다. 그러나 in x...y 의 범위는 x 부터 y-1 까지를 포함한다. 

$다른 언어 같은 경우
python : 1 부터 10까지의 범위를 주기 위해서는 for i in range(1, 11): 이라고 코딩한다.
c언어  : 1 부터 10까지의 범위를 주기 위해서는 for (i=1; i<=10; i++)
go언어 : 1 부터 10까지의 범위를 주기 위해서는 for i:=1; i<=10; i++ { ... }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
puts " ==> in 1..10 <=="
for i in 1..10
  puts "#{i}"
end
=begin
==> in 1..10 <==
1
2
3
4
5
6
7
8
9
10
=end
 
puts " ==> in 1...10 <=="
for i in 1...10
  puts "#{i}"
end
=begin
==> in 1...10 <==
1
2
3
4
5
6
7
8
   
=end
cs



[FOR 문] =====================================================
구구단을 만들어 보았다.
for i in 2..9
for j in 1..9
printf("%2d x %2d = %2d ", i, j, i*j)
end
print("\n")
end

[ 결과 ]




[while 문] =====================================================
num = 0
while TRUE
puts "#{num}"
num += 1

if num == 10
break
end
end