#!/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 if false #今いつ!? while true x = Time.now if x.year == 2021 puts"まだかなぁ" elsif x.year == 2022 puts"おめでとう!!" break end end end if false # ブロックのクラスが知りたいお p {|i| print i}.class # =>へんじがないです(・・) end if false #噂の例外処理センセイ sentakusi,num =["a","b","c"],0 begin # エラーが出そうなやつ for j in sentakusi printf("%d:%s",num,j);num +=1 end rescue => evar # エラーだったらコッチおいで p $! ensure # ここは絶対やっておくれ p "あいうえお";gets end end if false #classの比較とは? story = [] p story.class == Array # =>true end if false =begin ar,al.each do|r,l| printf("%s,%s\n"r,l) end =end #同時forみたいな ar =["あいうえお","え","えふ"] al =["aiueo","e","f"] j = 0 for i in ar printf("%s ->%s\n",i,al[j]) j +=1 end ar.zip(al).each do|moto,alp| printf("%s ->%s\n",moto,alp) end arr=["a","b","c"] printf("ary = %s",[1,"2",3,4,5]) printf("arr = %s",arr.join(",")) end if false #whileについて i=0 =begin while i == 0..2 p i i+=1 end #=>とまんねえ^^; =end while i >= 0 && i <= 2 #これが正解 p i i+=1 end end hai = [1,2,3,10] hai_copy = hai.dup hai.clear p hai_copy