Ruby Examples

This commit is contained in:
2026-01-15 14:01:21 +09:00
commit cf3d7d3296
76 changed files with 1191 additions and 0 deletions

10
level4/31.rb Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
사람의 이름과 나이를 해시로 표현
=end
person = { name: "Charlie", age: 13 }
puts person

10
level4/32.rb Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
해시에서 특정 키의 값 출력
=end
person = { name: "Charlie", age: 13 }
puts person[:name]

18
level4/33.rb Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
모든 키와 값을 "이름: 나이" 형식으로 출력
=end
person = { name: "Charlie", age: 13 }
person.each do |key, value|
puts "#{key}: #{value}"
end
people = [{ name: "Charlie", age: 13 },
{ name: "Steve", age: 34 },
{ name: "Anne", age: 23 }]
people.each { |item| puts "#{item[:name]}: #{item[:age]}"}

14
level4/34.rb Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
가장 나이가 많은 사람 찾기
=end
people = [{ name: "Charlie", age: 13 },
{ name: "Steve", age: 34 },
{ name: "Anne", age: 23 }]
person = people.max_by { |_| _[:age] }
puts person[:name]

14
level4/35.rb Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
점수 해시에서 평균 점수 계산
=end
people = [{ name: "Charlie", score: 13 },
{ name: "Steve", score: 34 },
{ name: "Anne", score: 23 }]
avg = people.sum { |_| _[:score] } / people.length.to_f
puts avg

12
level4/36.rb Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
해시에 새로운 요소 추가
=end
person = { name: "Charlie", score: 13 }
person[:address] = "Seoul"
puts person

13
level4/37.rb Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
해시에서 특정 조건(나이 ≥ 30)인 항목만 출력
=end
people = [{ name: "Charlie", score: 13 },
{ name: "Steve", score: 34 },
{ name: "Anne", score: 23 }]
people.select { |item| item[:score] >= 30 }
.each { |item| puts "#{item[:name]}: #{item[:score]}" }

12
level4/38.rb Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
해시 키 목록만 배열로 추출
=end
person = { name: "Charlie", score: 13 }
keys = person.keys
puts keys

12
level4/39.rb Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
해시 값 목록만 배열로 추출
=end
person = { name: "Charlie", score: 13 }
keys = person.values
puts keys

13
level4/40.rb Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
단어 빈도수 계산 프로그램
=end
words = "This is a test This is only a test".downcase.split(" ")
result = Hash.new
words.each { |w| result[w] = result[w]?result[w]+1:1}
puts result