일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 비즈니스일본어
- rails
- Python
- C로 시작하는 컴퓨터 프로그래밍4판
- java
- ruby
- 日本語
- jsp
- 인프런
- 一日一つメソッド
- DART
- nico
- 반다이몰
- vscode
- Web
- 単語
- 건담
- 디지몬
- CSS
- Spring
- 연습문제
- メソッド
- rails7
- html
- javascript
- 일본어
- 건담베이스
- 자바
- springboot
- Flutter
Archives
- Today
- Total
AR삽질러
Rails조건문 - (2) 본문
728x90
Ruby와 Rails에서 조건문활용
Ruby와 Rails에서 조건문은 코드의 흐름을 제어하는 도구로 적절하게 활용하여 코드의 가독성과 유지보수성을 유지할 수 있다.
Ruby 조건문
1) if - else
condition = (10 % 2) == 0
if condition
print("true")
else
print("false")
end
# true
if-else문제 : 사용자가 입력한 숫자가 짝수인지 홀수인지 판별하는 프로그램
puts "숫자를 입력하세요: "
number = gets.to_i
if number % 2 == 0
puts "#{number}는 짝수입니다."
else
puts "#{number}는 홀수입니다."
end
2) elseif
puts "숫자를 입력하세요: "
number = gets.to_i
if number % 2 == 0
puts "입력하신 숫자 : #{number}는 짝수입니다."
elsif number % 2 == 1
puts "입력하신 숫자 : #{number}는 홀수입니다."
else
puts "숫자가 아닙니다."
end
elseif문제 : 나이를 입력받아 성인여부 판별하기
puts "나이를 입력해주세요 : "
age = gets.to_i
if age < 0
puts "잘못된 나이입니다."
elsif age < 18
puts "미성년자입니다. 열공하세요!"
elsif age <= 18 && age < 65
puts "성인입니다. 열공 열일 하세요!"
elsif age >= 65
puts "당신은 시니어입니다."
else
puts "당신은 별이군요"
end
3) case
puts "월을 입력하세요 : "
month = gets.to_i
case month
when 3..5
puts "봄입니다."
when 6..8
puts "여름입니다."
when 9..11
puts "가을입니다."
when 12, 1..2
puts "겨울 입니다."
else
puts "숫자만 입력해주세요"
end
case문제 : 사용자의 이름을 입력받고 입력받은 사용자의 국어, 수학, 과학 점수를 입력받아 평균을 구한뒤 학점을 구하는 프로그램
# encoding : UTF-8
print "사용자의 이름을 입력해주세요 : "
name = gets.chomp
def score(subject)
while true
print"#{subject}점수 입력 : "
score = gets.to_i
if score >= 0 && score <= 100
return score
else
puts "0에서 100사이의 점수를 입력해주세요.."
end
end
end
kor = score("#{name}님의 국어")
math = score("#{name}님의 수학")
scien = score("#{name}님의 과학")
sum = kor + math + scien
avg = sum / 3.0
grade = case avg
when 90..100
"A+"
when 80..90
"A"
when 70..80
"B"
when 60..70
"C"
else
"F"
end
puts "#{name}님의 총점은 #{sum}이고 학점은 #{grade}입니다."
Rails 조건문
사용자에게 아이디를 입력받아 "admin"일 경우 관리자에게 인사, "admin"이 아닐경우 회원님에게 인사하는 조건문
config/routes.rb
Rails.application.routes.draw do
get "login" => "user#loginForm"
post "/login" => "user#login"
get "/admin" => "user#adminSuccess"
get "/user" => "user#userSuccess"
end
UserController
class UserController < ApplicationController
def login
username = params[:username]
session[:username] = username
if username == 'admin'
redirect_to admin_path
else
redirect_to user_path
end
end
def adminSuccess
@username = session[:username]
end
def userSuccess
@username = session[:username]
end
end
views/loginForm.html.erb
<br><br><br>
<form action="/login" method="post">
<input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>">
<input type="text" name="username" placeholder="아이디">
<button type="submit">로그인</button>
</form>
views/adminSuccess.erb
<p><%= @username %> : 관리자님 Hi!</p>
views/userSuccess.erb
<p><%= @username %> : 회원님 안녕하세요!</p>
728x90
반응형
LIST