Newer
Older
Ruby / kenkyu.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

#楽しい研究所だね(?)
#なんか気になったことを試して研究だね(??)
#楽しいね(????)楽しいのは自分だけかもしれない
#あと行番号という神がご降臨なさったっことにっ感謝
#全部falseで何も実行できないじゃんとか言わないで、

def kakunin(situmon)            # 雑kakunin
  while true
    printf("%s\n",situmon)
    kotae = gets
    if kotae == "\n"
      redo
    end
    return kotae.to_i
  end
end

if false
  # 「..」の実験
  for i in 0..10                  # 「0から10まで順番にiに入れてくれ」
    print i
  end                             # =>012345678910
end

if false
# 文字の見た目が変わる実験。任意の数を指定してくれ
kazu_high = kakunin("変数jの上限を決めてくれ")
kazu_low  = kakunin("下限も決めてくれ")

for j in kazu_low..kazu_high    # こんなこともできるのか
  printf("\e[%dm変数jは%dだよ",j,j)
  printf("\e[m")                # もとの見た目に戻す(戻さないとずっと戻らない)
  print  "(いつもの)\n"
  if j%5 == 0
    print"\n"
  end
end
end

if false
#配列配列配列配列配列配列h
hairetu =                       # この行にはないよぉ^ ^
  ["やあ","どうも",
   ["こんにちは","こんひるは","こんばんは",
    ["最近いそがしいなぁ",
      "今何してる?って、これ見てるか",
      "この文はね、配列の2番目の3番目の2番目の要素なんだよって、なにそれって話ね"
    ]
   ]
  ]
p hairetu

#puts"この配列から何か挨拶を作れそうだぞ"
# p hairetu.length                # =>3(意外)

aisatu = hairetu[1]+hairetu[2][0]+"、"+hairetu[2][3][1]
puts aisatu                    # =>どうもこんにちは、今何してる?って、これ見てるか
#配列名[1個目の配列][1個めで選んだのが配列ならここに左で選んだ配列の中身の番号]
#これは、、遊べる、、!
end

if false
#if!!

nanka = 3
if nanka >= 1
  puts "1"
elsif nanka >=2
  puts "2"                      # =>1
end

# 1ifに1つずつしか当てはまらない模様
if nanka >= 3
  puts "3"
else
  puts"それは聞いてないかも、、"
end

#ということで登場するコイツ↓
if nanka >= 1
  puts "1"
end
if nanka >= 2
  puts "2"
end                             # => 1\n 2
end

if false
#配列part2
arr = ["a","b","c"]
p arr[-1]                       #=>"c"(!?)
p arr[0] =~ /a/                 # 0
p arr[0] =~ /ab/                # nil
p arr[0] =~ /c/                 # nil
end

if false
  p"すべて三択" =~ /(すべて)/   # 0
  p"すあべいて" =~ /(すべて)/   # nil
  p"多分すべて" =~ /(すべて)/   # 2

end

if false
  #指定桁まで取得
  flo = 1.41421356
  # puts flo.to_f(3)              # yamete(ArgumentError)
  
  p flo.truncate(5)             # =>1.41421
  
end

if false
ary = ["こ","ん","に","ち","は"]
ary.each do|a|
  puts a
end
end

if false
  #順不同実現への道
input = gets.chomp
if input =~ /([1{1}][2{1}][3{1}]){1}/
  puts"マッチしたらしいよ"
else
  puts"マッチしなかったらしいよ"
end
p input.chars                   # いけるって。いけるって!がんばれ(?)
p []

yourAry = []
while true
  print"集めるよ(?)"
  input = gets.chomp
  break if input == "yameru"
  yourAry << input
  p yourAry
end
p yourAry
print"正規表現で何か見つかるかも..."
reg = Regexp.new(gets.chomp)
yourAry.each do |ar|
  puts("#{ar}がマッチしました!") if ar =~ reg
end
end

#mondai   = neta["問題"]         # "問題"の中身が配列になってる
#santaku1 = neta["三択1"]
#santaku2 = neta["三択2"]
#santaku3 = neta["三択3"]
#printf("%s\n",mondai[0])        # =>quiz.csvのA2


#今いつ!?
while true
  x = Time.now
  if x.year == 2021
    puts"まだかなぁ"
  elsif x.year == 2022
    puts"おめでとう!!"
    break
  end
end