3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

個人的Rubyチートシート(随時更新)

Last updated at Posted at 2018-09-09

個人的なRubyチートシート。
思いついたら随時更新する予定です。

追記:備忘録とかも兼ねているので「こんなん簡単ジャン」みたいなのも混じります。

##一つ上のディレクトリ名を取得

#一つ上のディレクトリ名を取得
puts File.split(File.dirname(__FILE__))[1]

##外部ファイルを一行ずつ読み込む
日本語(ShiftJIS)対応。

File.open("./sample.txt","rt:sjis:utf-8") do |file|
    file.each_line{|line|
        puts line
    }
end

##ソースコードの変数の値を変更する
例えばこんなソースコードを…
string sample="sample" #「sample」を「test」へ変換する
こんなソースコードへ変換してみる
string sample="test" #「sample」を「test」へ変換する

write_file=""

change_value="test"

File.open("./sample.txt","rt:sjis:utf-8") do |file|
    file.each_line{|line|
        if line.start_with?("string sample")
            target_value=line.split("\"")[1]
            write_file << line.gsub(/\"#{target_value}\"/,"\""+change_value+"\"")
        else
            write_file << line
        end
    }
end

File.open("./sample.txt","w") do |file|
    file.puts(write_file.encode("shift_JIS"))
end

##カレントディレクトリの取得

require 'fileutils'
puts FileUtils.pwd

puts Dir::pwd

##ファイルを置き換える

require 'fileutils'

#置き換え元
base_file="sample_org.py"
#置き換え対象
replace_file="sample.py"

#カレントディレクトリを取得
current=FileUtils.pwd

#置き換え元が無いのに実行して置き換え対象だけ削除される事故防止
if File.exist?(current+"/"+base_file) then
    FileUtils.rm(current+"/"+replace_file)
    FileUtils.cp(current+"/"+base_file,current+"/"+replace_file)
end

##JSONファイルの読み書き
下記のようなjsonファイルを想定

test.json
[
    {
        "test": 0
    }
]
require "json"

# test.jsonを読み込んでhashに変換
hash = File.open('./test.json') do |file|
    JSON.load(file)
end

# 下記の形で値にアクセスできる
p hash[0]["test"]

# JSONを整形せずに出力 ⇒ [{test:0}]
open('./write.json', 'w') do |file|
    JSON.dump(hash, file)
end

# JSONを整形して出力
pg = JSON.pretty_generate(hash)
open('./write.json', 'w') do |file|
    file.puts(pg)
end
3
3
4

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?