プログラミング学習記録2/23 その2
# クラス
class User
attr_accessor :name
# setter: name=(value)
# getter: name
def initialize(name)
@name = name
end
def sayHi
# self
# self name -> @name
puts "hi i am #{@name}"
end
end
tom = User.new("tom")
tom.name = "tom Jr."
p tom.name
tom.sayHi # レシーバー
プログラミング学習記録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
プログラミング学習記録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/21
今日はドットインストールの動画一本で終わってしまった、反省。
プログラミング学習記録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)
プログラミング学習記録2/19
複数行をコメントアウトする場合はコマンド+/でした。
プログラミング学習記録2/18
Optionと¥でバックスラッシュ
Command + cで一括コメント