0
0

More than 3 years have passed since last update.

【自分用】チョコプラのコント"カレー屋"の「入っちゃってる」かどうかを確かめるプログラムと、それを作って学んだこと

Posted at

元ネタ

コード

puts "長田「小辛は唐辛子マークでいうと何個分なの?」"
puts "松尾「"
mild_hot_min = gets
puts "から"
mild_hot_max = gets
puts "になります。」"
mild_hot_level = [*(mild_hot_min.to_i..mild_hot_max.to_i)]

puts "長田「じゃあ中辛は?」"
puts "松尾「"
normal_min = gets
puts "から"                                                   
normal_max = gets           
puts "になります。」"  
normal_hot_level = (normal_min.to_i..normal_max.to_i).to_a

haicchateru_yatsu = mild_hot_level & normal_hot_level
if haicchateru_yatsu.empty?
  puts "長田「・・・いや入っちゃってないんかい!」"
else
  puts "長田「いや#{(mild_hot_level & normal_hot_level).join('と')}が小辛にも中辛にも入っちゃってるじゃん。」"
  puts "松尾「・・・”入っちゃってる”というのは?(・。・) キョトン…」"
end

書いて学んだこと

RangeオブジェクトをArrayオブジェクトに変換する方法は、何個かある

mild_hot_level = [*(mild_hot_min.to_i..mild_hot_max.to_i)]

とか

normal_hot_level = (normal_min.to_i..normal_max.to_i).to_a

配列同士の積集合(どっちにもある要素)を求めたいなら、&でつなぐ

haicchateru_yatsu = mild_hot_level & normal_hot_level

他にも和集合や、もっと複雑なのも同じように求められます。
参考:https://qiita.com/namitop/items/be11c007da456ea95735

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0