Rubyの基本問題と解答 まとめ2
rubyにて基本となる、基礎問題と解答をアップします。
#6. シンボルについて
#シンボルとは主に文字列にコロン(:)を前に置いて定義したもの
#1. 自分の名前(:name)と年齢(:age)を出力してみましょう。
user = {:name => "ito" , :age => "38"}
puts user
#2. 自分の名前(:name)、年齢(:age)、性別(:sex)を設定し、性別のみ出力してみましょう。
user = {:name => "ito" ,:age => "38" , :sex => "man"}
puts user[:age]
#3. 自分の名前(:name)、年齢(:age)、性別(:sex)を設定し、出身国(:contry)を追加し、出力してみましょう。
user = {:name => "ito" ,:age => "38" , :sex => "man"}
puts user[:contry] = "japan"
puts user
#7.nilについて
# ハッシュをつかって出力してみましょう
#1. 自分の名前(:name)がtrueのときは 「わたしの名前は〇〇です。出身の国は日本です。」 と出力してみましょう。
user = { name: "伊藤"}
if user[:name]
puts "わたしの名前は#{user[:name]}です。出身の国は日本です。"
else
puts "わたしの名前は#{user[:name]}です。出身の国はわかりません。"
end
#2. 自分の名前(:name)falseのときは 「わたしの名前は〇〇です。出身の国はわかりません。」 と出力してみましょう。
user = {name: "伊藤" }
if user[:country]
puts "私の名前は#{user[:name]}です。出身の国は#{user[:country]}です"
else
puts "わたしの名前は#{user[:name]}です。出身の国はわかりません。"
end
#8. 配列の代入について
#配列の要素にハッシュを入れてみましょう
#1. userという配列に2人代入し、名前(:name),年齢(:age)を設定しインデックスの1番目を出力してみましょう。
user = [{name: "伊藤", age: "29"},
{name: "佐藤", age: "39"}
]
puts user[1]
#2. 1で作成した配列のインデックスの0番目の名前のみ出力してみましょう。
puts user [0] [:name]
#3. usersという配列に3人代入し、名前(:name),年齢(:age)を設定し、each文を使って順番に出力してみましょう。
users = [{name: "伊藤", age: "29"},
{name: "佐藤", age: "39"},
{name: "加藤", age: "49"}
]
users.each do |user|
puts user
end
#9. 配列の応用について
#1. usersという配列を作成し、自分の名前、年齢を配列に代入し連結を出力してみましょう。
users = ["伊藤","39"]
puts users
#2. 1で作成した配列に性別を追加し、出力してみましょう。
users = ["伊藤","39"]
puts users.push("men")
puts users
#3. prayerの配列の中に「StephenCurry」 ,「basketball」を代入し大文字に変換し連結し出力してみましょう。
prayer = ["StephenCurry" , "basketball"]
p prayer.map{|a| a.upcase }.join(" ")
#4. 3で作成したものを小文字に変換し連結し出力してみましょう。
p prayer.map{|a| a.downcase }.join(" ")
#map は、配列の要素の数だけブロック内の処理を繰り返し、結果として作成された配列を返します。
#オブジェクト.map { |変数| 実行したい処理}
#joinメソッドは、配列の各要素を文字列に変換
#10. 特別問題
#1. ターミナル上で税抜き金額を入力したら、文字列で「税込金額は〇〇円です」を返すプログラムを作成してみましょう
puts "金額を入力して下さい。"
input = gets.chomp
#getsにて、この後にキーボードで入力したのを文字列として返し、chompにて改行をしないようにしています。
price = input.to_f * 1.08
#to_fメソッドは、文字列を浮動小数点数の表現と見なしてFloatオブジェクトに変換します。
puts "税込金額は#{price.to_i}円です"
#to_iにて整数に変換します。
それでは、さらばーゆ。