[過去ログ]
スレ立てるまでもない質問はここで 159匹目 (1002レス)
スレ立てるまでもない質問はここで 159匹目 http://mevius.5ch.net/test/read.cgi/tech/1644673480/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
172: デフォルトの名無しさん [sage] 2022/02/24(木) 12:04:16.87 ID:82W7j8jp Ruby では、繰り返しにindex や、蓄積変数を付けたものがある。 または、each に付ける事もできる つまり、書き方が決まっている ary = [ "a", "b" ] ary.each_with_index do |element, index| p "#{ index }:#{ element }" end 出力 "0:a" "1:b" ary = [ "a", "b" ] # 初期値は1 ary.each.with_index( 1 ) do |element, index| p "#{ index }:#{ element }" end 出力 "1:a" "2:b" 同様に、蓄積変数を付けたものもある。 each_with_object( obj ), with_object( obj ) http://mevius.5ch.net/test/read.cgi/tech/1644673480/172
195: デフォルトの名無しさん [sage] 2022/02/24(木) 21:55:35.90 ID:82W7j8jp 前スレの、>928 Ruby で作ってみた。 Rubyスクリプト内で、7-zip を実行すると、 7-zipでは解凍する際、同名のフォルダが存在すると、 上書きするかどうかを聞いてくるので、そこで実行が止まる それを避けるため一旦、現在日時から、 新しいフォルダ・dest_dir を作って、その中に解凍する 7-zipでは、同名のフォルダが存在しても、エラーにすることも出来ない。 そのフォルダ内に解凍しようとするから。 また事前に、アーカイブ内のフォルダ名を取得することも出来ない dest_dir は、現在日時から作った、新しいフォルダ。 dest_dir内には、アーカイブを解凍した、decomp_root_dir と、 decomp_root_dirの末尾に、_out を加えた、out_dir の2つを作る。 out_dir内には、フォルダ階層を作りながら、処理した画像ファイルを入れていく デスクトップには、ショートカットを作る。 リンク先には、Rubyの実行パスと、Rubyスクリプトファイルのパスを書く リンク先 C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/script.rb 作業フォルダ C:\Users\Owner\Desktop そのショートカットに、解凍したいアーカイブ、 C:/Users/Owner/Documents/data/z.zip を、Drag & Drop する 次へ続く http://mevius.5ch.net/test/read.cgi/tech/1644673480/195
196: 195 [sage] 2022/02/24(木) 21:56:18.77 ID:82W7j8jp require 'pathname' # 7-Zipの実行パス。Program Files には半角空白があるので、要注意! ZIP7_EXE_PATH = "C:/Program Files/7-Zip/7z.exe" # expand_path で、Windows のパス区切り \ を、/ に変換する src_arch_path = Pathname( ARGV[ 0 ] ).expand_path #=> C:/Users/Owner/Documents/data/z.zip # 現在時刻からディレクトリ名を作る際、名前が衝突しないように、念のため、1秒進める sleep 1 # DateTime は非推奨なので、Time を使う dest_dir = src_arch_path.parent + Time.now.strftime( "%Y%m%d_%H%M%S" ) #=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030> dest_dir.mkdir( ) # ディレクトリを作る print "#{ dest_dir.to_s } フォルダを作りました\n\n" # 7z x -o(解凍先パス) (アーカイブパス) # 解凍する。Program Files には半角空白があるので、"〜" で囲む puts %x("#{ ZIP7_EXE_PATH }" x -o#{ dest_dir } #{ src_arch_path }) 次へ続く http://mevius.5ch.net/test/read.cgi/tech/1644673480/196
197: 195 [sage] 2022/02/24(木) 21:57:06.88 ID:82W7j8jp # dest_dir の直下には、1つだけ解凍されたディレクトリがあると想定する decomp_root_path = dest_dir.children[0] #=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z> decomp_root_dir = decomp_root_path.basename.to_s # ディレクトリ名。z # 末尾に、_out を加えた、ディレクトリ名。z_out out_dir = decomp_root_dir + "_out" # decomp_root_path の末尾に、_out を加えたパス out_root_path = dest_dir + out_dir #=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z_out> out_root_path.mkdir( ) # ディレクトリを作る print "\n#{ out_root_path.to_s } フォルダを作りました\n\n" # 絶対パスのディレクトリ名の後ろに、* を付けること! # . で始まる、隠し directory, file を除く decomp_root_path.glob( "**/*.{png,jpg,jpeg,gif,bmp,webp}" ) do |full_path| # decomp_root_dirの部分だけを、_out を加えて、out_dir に変えたもの out_full_path = out_root_path + full_path.relative_path_from( decomp_root_path ) dir = out_full_path.parent # ディレクトリ # ディレクトリが存在しなければ、親ディレクトリも含めて作る。mkdir_p dir.mkpath unless dir.directory? # ここに、各画像ファイルの変換処理を書く! end 次へ続く http://mevius.5ch.net/test/read.cgi/tech/1644673480/197
198: 195 [sage] 2022/02/24(木) 21:58:12.15 ID:82W7j8jp # つまり、z フォルダの部分だけを、z_out に変えたものになる #<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z/zz/a.jpg> #<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z_out/zz/a.jpg> # ZIP 形式のアーカイブを作る。-tzip # 7z a -tzip (アーカイブパス).zip (アーカイブしたいフォルダ) # 圧縮する。Program Files には半角空白があるので、"〜" で囲む puts %x("#{ ZIP7_EXE_PATH }" a -tzip #{ out_root_path } #{ out_root_path }) puts "\n#{ out_root_path.to_s }.zip アーカイブを作りました。\n" + "処理が終了したので、この画面を閉じて下さい" sleep # 出力したコマンドプロンプト画面を閉じないようにする 以上です! http://mevius.5ch.net/test/read.cgi/tech/1644673480/198
199: デフォルトの名無しさん [sage] 2022/02/24(木) 22:03:05.14 ID:82W7j8jp >>175 文字列を連結して、SQL 文を作ると、SQL injection される だから、Ruby on Rails では、O/R マッパーを使う。 place holder を使って、? の所に、変数を埋め込む http://mevius.5ch.net/test/read.cgi/tech/1644673480/199
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.759s*