스택큐힙리스트

루비에서 스위치 문 작성하는 방법 본문

카테고리 없음

루비에서 스위치 문 작성하는 방법

스택큐힙리스트 2023. 3. 22. 12:15
반응형

루비에서 switch 문장을 어떻게 작성하나요?

답변 1

루비는 case expression을 대신 사용합니다.

case x

when 1..5

It's between 1 and 5

when 6

It's 6

when foo, bar

It's either foo or bar

when String

You passed a string

else

You gave me #{x} -- I have no idea what to do with that.

end

루비는 when 절에 있는 객체를 case 절에 있는 객체와 === 연산자를 사용하여 비교합니다. 예를 들어, 1..5 === x와 같이, x === 1..5가 아닙니다.

이렇게 함으로써 위에서 볼 수 있는 복잡한 when 절을 가능하게 합니다. 범위, 클래스 및 다양한 것들을 평등성이 아닌 것들을 검사할 수 있습니다.

다른 많은 언어의 switch 문장과 달리, 루비의 case 구문에는 fall-through가 없기 때문에 각 when을 #break .로 끝내는 필요가 없습니다. 또한 when foo, bar와 같이 하나의 when 구문에서 여러 일치 항목을 지정할 수도 있습니다.

답변 2

루비에서 switch 문을 작성하는 방법

루비에서 switch 문은 case 문으로 작성됩니다. switch 문은 다른 프로그래밍 언어(예: 자바)에서 자주 사용되지만, 루비에서는 case 문으로 구현됩니다. 이 문장은 if-elsif-else 블록을 작성하는 것보다 간결하고 가독성이 높은 코드를 작성할 수 있습니다.

루비에서 case 문을 작성하는 방법은 다음과 같습니다.

```ruby

case expression

when value1

# 실행 코드 1

when value2

# 실행 코드 2

when value3

# 실행 코드 3

else

# 실행 코드 4

end

```

`expression`은 평가될 변수이며, `value1`, `value2`, `value3` 등은 `expression`과 비교할 값입니다. 이때 `else` 절은 `expression`과 일치하는 값이 없을 때 실행됩니다.

다음은 실제 예시입니다.

```ruby

grade = 'B'

case grade

when 'A'

puts 'Great job!'

when 'B'

puts 'Good job!'

when 'C'

puts 'You can do better.'

else

puts 'Please re-take the test.'

end

```

위의 예제에서는, `grade` 변수의 값이 `B`이므로 세 번째 줄의 코드가 실행됩니다. 이 예시를 일반화하면, `expression`에 따라 해당하는 `when` 절에서 실행 코드를 실행하고, 일치하는 값이 없으면 `else` 절에서 실행 코드를 실행합니다.

추가적으로, `case`문은 블록을 포함할 수 있습니다. 따라서 여러 줄의 코드를 실행할 수 있습니다.

```ruby

fruit = 'apple'

case fruit

when 'apple'

puts 'I love apples!'

puts 'Apples are delicious!'

when 'banana'

puts 'I love bananas!'

puts 'Bananas are tasty!'

else

puts 'I do not like that fruit.'

end

```

위의 예시에서는, `fruit` 변수의 값이 `apple`이므로 첫 번째 `when` 절이 실행되고, 블록 내에 있는 두 줄의 코드가 모두 실행됩니다.

이제 루비에서 `case` 문을 작성하는 방법을 이해했으므로, 이를 활용하여 간결하고 가독성이 높은 코드를 작성할 수 있습니다.

반응형
Comments