imomoの勉強記録

主に勉強の記録などを残していきます

出力が2通りしかない問題を楽にするスクリプトを書いた

書くのが地味に面倒なアレをクリップボードに書き込むスクリプトを書きました。
スクリプトこちら

スクリプトについて

入力に対して答えが'Yes'になったり'No'になったりする問題の'Yes'/'No'出力部分をクリップボードに書き込みます。
最近の問題だと出力は'Yes'/'No'ですが、昔の問題だと'POSSIBLE'/'IMPOSSIBLE'だったり'Good'/'Bad'だったりと問題ごとに様々で、いちいち打つのが面倒くさかったりタイプミスでWAになったりしてしまうことがあるかと思います。

なので、マウスで出力文字列を指定してある文章を選択しCtrl + Shiftを押すとクリップボードに書き込んでくれるスクリプトをこの度書きました。

対応言語について

現在はC++及びPythonのみとなっています
自分なりの処理がいい場合は自分で雛形を書いてみてください

雛形テキストの中の[first]、[second]は、それぞれ選択範囲内の最初の出力文字列、2つ目の出力文字列になっています

細かい仕様

選択範囲の先に出てくる出力文字列を真の値として使用するため、問題文によっては真のときに偽の文字列を出力することになってる場合があります。
問題文を確認し、適宜条件式に論理否定演算子( '!')を書いてください

真か偽かどうかはBool型の変数で判断しています
事前にBool型の変数をご用意下さい

選択範囲内にある英文字及び一部記号( ':' , '!' , '(' , ')' )を認識し切り出します
選択の範囲は以下の条件を守らないと正常に作動しません ※例を提示するため一部HTMLを書き換えています

  • 出力文字列2つがカンマで区切られている
  • 出力文字列2つが完全に選択範囲内に存在する
  • 選択範囲内にカンマが2つ以上存在する

以下に良い例と悪い例を示します

f:id:iiiimmmmo:20201212220739p:plain
選択する文字列

カンマは一つ、出力文字列2つが選択範囲内に存在しています

f:id:iiiimmmmo:20201212220811p:plain
良い例


出力文字列のうちの一つが選択範囲外です

f:id:iiiimmmmo:20201212220900p:plain
悪い例1


選択範囲にカンマを含んでいません

f:id:iiiimmmmo:20201212221003p:plain
悪い例2

免責事項

このスクリプトを使用し開催中のコンテストでWAなどをだしても私は一切の責任を負いません。
使う際は自己責任でお願いします

最後に

自分の知る限りでは出力文字列に対応したつもりですが一部対応できてないものもあるかもしれません。
何かあればtwitterにてご連絡ください。

拙い文でしたが読んで下さりありがとうございました。