プログラミング学習記録2/23

for each

上としたは同じ出力結果となる。

forの場合

# for i in 15..20 do
# p i
# end

# #集合的オブジェクトから要素を一つずつ取り出してiに格納しつつ、
# #要素がなくなるまでdoとendの処理を繰り返す

# for color in ["red" , "blue"] do
# p color
# end

# for name, score in {taguchi:200 , fkoji:400} do
# puts "#{name}: #{score}"
# end

eachの場合

(15..20).each do |i|
p i
end

["red" , "blue"].each do |color|
p color
end

{taguchi:200 , fkoji:400}.each do |name, score|
puts "#{name}: #{score}"
end

 

break,next

# 0からずっとカウントアップする処理

# i = 0
# loop do
# p i
# i += 1
# end

# break
# next

10.times do |i|
if i == 7
# break
next
end
p i
end

 

# メソッド

def sayHi(name = "tom") # 引数
# puts "hi #{name}"
return "hi #{name}"
end

# sayHi "taguchi"
# sayHi

p sayHi
 
# クラス

class User

def initialize(name)
@name = name
end

def sayHi
puts "hi i am #{@name}"
end

end

tom = User.new("tom")
tom.sayHi

bob = User.new("bob")
bob.sayHi

プログラミング学習記録2/22

# p "name: %s" % "taguchi"
# p "name: %10s" % "taguchi"
# p "name: %-10s" % "taguchi"

# p "id: %05d, rate: %10.2f" % [355, 3.284]

# printf
# sprintf

p sprintf("name: %10s\n" , "taguchi")
p sprintf("id: %05d, rate: %10.2f\n" , 355, 3.284)

 

# score = gets.to_i

# if score > 80 then
# puts "great!"
# elsif score > 60 then
# puts "good!"
# else
# puts "nice!"
# end

puts "great!" if score > 80

signal = gets.chomp

case signal
when "red"
puts "stop"
when "green" , "blue"
puts "go"
when "yellow"
puts "caution"
else
puts "wrong signal"
end

# i = 0

# while i < 10 do
# puts "#{i}: hello"
# # i = i + 1
# i += 1
# end

# 10.times do |i|
# puts "#{i}: hello"
# end

10.times { |i| puts "#{i}: hello"}

 

プログラミング学習記録2/20

scores = {"taguchi" => 200, "fkoji" => 400}
scores = {:taguchi => 200, :fkoji => 400}
scores = {taguchi : 200, fkoji: 400}

 

キーの一覧を引っ張ってきたい場合は scores.keys、値の一覧だけ引っ張ってきたい場合は scores.values が使えます。

オブジェクトを変換しよう

x = 50
y = "3"

p x + y.to_i
p x + y.to_f
p x.to_s + y

53
53.0
"503"

# puts hello = puts %(hello)
# puts 'hello' = puts %q(hello)

puts %(he"llo)
puts %q(hel"lo)

p ["red", "blue"]
p ['red', 'blue']

p %W(red blue)
p %w(red blue)