반응형
[ 함수 정의 ]
Python :
def a3():
print('aaa')
a3()
Ruby :
def a3()
puts('aaa')
end
a3()
Output :
aaa
알게된 점 :
파이썬과 루비는 함수를 정의할 때 def 라는 키워드를 사용한다.
파이썬은 역시나 : 와 함께 탭으로 구분하고, 루비는 역시나 end로 구분한다.
[ 함수 리턴 ]
Python :
def a3():
return 'aaa'
print(a3())
Ruby :
def a3()
return 'aaa'
end
puts(a3())
Output :
aaa
알게된 점 :
파이썬과 루비의 함수는 자바스크립트에서의 함수처럼, 리턴값의 유무에 상관없이 함수의 헤드 정의가 똑같다.
[ 함수 입력 인자 ]
Python :
def a(num):
return 'a'*num
print(a(3))
Ruby :
def a(num)
return 'a'*num
end
puts(a(3))
Output :
aaa
[ 함수 입력 인자 여러개 ]
Python :
def make_string(str, num):
return str*num;
print(make_string('a', 10))
Ruby :
def make_string(str, num)
return str*num;
end
puts(make_string('a', 10))
Output :
aaaaaaaaaa
[ 로그인 예제 구현 ]
Python :
input_id = input("Input ID\n")
# members = ['Hevton', 'Pyro', 'Hammer'] 파이썬은 여기에 넣어도 실행됨.
def login(mId):
members = ['Hevton', 'Pyro', 'Hammer']
for member in members:
if(mId == member):
return True
return False
if(login(input_id)):
print("Hello, "+input_id)
else:
print("Who Are you?")
Ruby :
puts("Input ID")
input_id = gets.chomp()
# members = ['Hevton', 'Pyro', 'Hammer'] 루비는 여기에 넣으면 실행안됨.
def login(mId)
members = ['Hevton', 'Pyro', 'Hammer']
for member in members do
if(mId == member)
return true
end
end
return false
end
if(login(input_id))
puts("Hello, "+input_id)
else
puts("Who Are you?")
end
알게된 점 :
주석에 나타냈듯이,
파이썬에서는 함수 외부의 변수(members)에 대해 사용이(참조가) 가능한데
루비는 함수 안에 넣어줘야만 가능하더라. (혹은 특정 키워드를 붙여줘야만 가능한가봄. 위 예제대로는 안됨)
출처 - opentutorials.org/
반응형
'[Python & Ruby]' 카테고리의 다른 글
[Python & Ruby] Block in Ruby (0) | 2020.12.18 |
---|---|
[Python & Ruby] 함수에서의 다양한 생략 - Ruby (0) | 2020.12.18 |
[Python & Ruby] 반복문 2 (0) | 2020.12.16 |
[Python & Ruby] 반복문 (0) | 2020.12.12 |
[Python & Ruby] 사용설명서 (0) | 2020.12.12 |