def login(_id):
members = ['egoing', 'k8805', 'leezche']
for member in members:
if member == _id:
return True
return False
5.py
import auth
input_id = input("아이디를 입력해주세요.\n")
if auth.login(input_id):
print('Hello, '+input_id)
else:
print('Who are you?')
Ruby
auth.rb
module Auth
module_function()
def login(_id)
members = ['egoing', 'k8805', 'leezche']
for member in members do
if member == _id
return true
end
end
return false
end
end
5.rb
require_relative 'Auth'
puts("아이디를 입력해주세요")
input_id = gets.chomp()
if Auth.login(input_id)
puts('Hello, '+input_id)
else
puts('Who are you?')
end
안녕하세요! 나이가 많으셔도 질문을 하시는 것 자체가 학습에 대한 열정을 보여주시는 것 같아 멋지십니다. 질문 주신 내용에 대해 답변드리겠습니다.
### 1. **Python에서 `return`을 만나면 함수가 끝나나요?**
네, 정확하게 보셨습니다. **Python에서 `return`은 함수의 실행을 종료하고 값을 반환하는 역할을 합니다.**
즉, 함수 내에서 `return` 문이 실행되면 그 지점에서 함수의 실행이 끝납니다. 그 뒤에 있는 코드는 실행되지 않습니다. 이것은 파이썬뿐만 아니라 많은 프로그래밍 언어에서 공통적으로 적용되는 개념입니다.
예를 들어, 아래와 같은 함수가 있다고 가정해봅시다:
```python
def example_function():
print("This will be printed.")
return "This is the return value."
print("This will NOT be printed.") # 이 부분은 실행되지 않음
```
위 함수에서 `print("This will NOT be printed.")`는 `return` 뒤에 있기 때문에 절대로 실행되지 않습니다. 함수가 `return`을 만나면 그 즉시 실행이 종료되기 때문입니다.
### 2. **Ruby에서도 `return`이 동일하게 동작하나요?**
네, **Ruby에서도 `return`은 함수나 메서드의 실행을 종료하고 값을 반환합니다.** Python과 비슷한 방식으로 작동합니다.
예를 들어, Ruby 코드에서도 아래와 같은 함수가 있을 수 있습니다:
```ruby
def example_function()
puts "This will be printed."
return "This is the return value."
puts "This will NOT be printed." # 이 부분은 실행되지 않음
end
```
이 경우에도 `return` 문 이후의 코드는 실행되지 않습니다. `return`은 해당 메서드의 실행을 종료하고 결과를 반환하는 역할을 합니다.
### 결론
- **Python에서 `return`을 만나면 그 즉시 함수가 종료**되며, 그 이후의 코드는 실행되지 않습니다. 이는 우문이 아니라 매우 적절한 질문이었습니다.
- **Ruby에서도 동일하게 `return`이 함수의 실행을 종료**하는 역할을 합니다.
만약 `return` 문 이후에도 코드를 계속 실행하고 싶다면, `return`을 그 위치에 두지 않고, 함수의 마지막에 위치시키는 것이 좋습니다.
질문드립니다. 루비에서 모듈 사용 시, require 뒤에 나오는 부분은 module 이름이 아닌 파일 이름 인가요?
ubuntu 환경에서 require_relative 를 이용하여 위 코드와 동일하게 작성 시 파일 읽어오지 못하지만, 소문자로 변경하여 작성 시 정상적으로 동작해서 문의드립니다.
생활코딩에서 WEB1 HTML 수업을 들었었는데 그 때 이고잉님이 하신 말씀중 어려운것들은 어떤 특이 상황에 더 쉽고 편리하지만 응용하기 어렵고 쉬운것들을 기반으로 해서 만들어진다는게 떠오르네요! 지금 저희가 배우고 있는 어려워 지고있는 내용들도 쉬운것들로 이루어져 있다고 생각하니 더욱 열심히 하게 되네요!