2013年04月21日

ファイルのパーミッションを取得/変更

File::statでファイルのパーミッションが取得でき、File.chmod()でパーミッションが変更できます。

filename = './hoge/tst'

stat = File::stat(filename)
mode = "%o" % stat.mode
p mode[-3, 3]

File.chmod(0777,filename)


参考URL
ファイル(フォルダ)のパーミッション変更 – Ruby – « ツール工房 覚書
ファイルパーミッションの取得
タグ:File stat chmod
posted by ねこまんま at 23:03 | Comment(1) | TrackBack(0) | 文法 | このブログの読者になる | 更新情報をチェックする

2013年04月09日

空のファイルを作成する

File.openで存在しないファイル名を指定すると作成できます。close()で閉じるのを忘れずに。

File.open("./hoge/test.txt", "w").close()


この場合、hogeディレクトリに書き込み権限が必要なので注意が必要。

参考:Ruby/空ファイルを作る方法 - 俺の基地
タグ:File.open
posted by ねこまんま at 01:28 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

rubyのバージョンを出力する

組み込み定数のRUBY_VERSIONを利用すると利用しているrubyのバージョンを出力できます。

print RUBY_VERSION
タグ:RUBY_VERSION
posted by ねこまんま at 01:07 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

文字列の置き換え(gsub)

gsubで文字列の置き換えが可能

hoge = "hoge"
print hoge.gsub("o","a")#hage


正規表現も利用できる

print hoge.gsub(/^.+$/,"pp")#pp


gsub!だと置き換え後の文字列で元の変数を上書く

hoge.gsub!("o","a")
print hoge#hage


参考:gsub, gsub! (String) - Rubyリファレンス
タグ:gsub
posted by ねこまんま at 00:27 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

ファイルやディレクトリの存在を確認する

ファイルの存在確認はFile.fileでディレクトリの存在確認はFile.directoryで、ファイルとディレクトリの存在確認はFile.existsでできる。それぞれFileTestオブジェクトでもOK。これらは真偽値を返します。

print FileTest.exists?("hoge.txt")
print File.exists?("hoge.txt")
print FileTest.exists?("hoge")
print File.exists?("hoge")
print FileTest.directory?("hoge")
print File.directory?("hoge")
print FileTest.directory?("hoge.txt")
print File.directory?("hoge.txt")
print FileTest.file?("hoge.txt")
print File.file?("hoge.txt")
print FileTest.file?("hoge")
print File.file?("hoge")


参考:逆引きRuby - ファイルアクセス
タグ:FileTest File
posted by ねこまんま at 00:03 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

2013年04月08日

if文、unless文、case文

久々だけどrubyのif文。

基本形

if hoge=="hoge" then
print "ok1"
end


改行がある場合thenは省略できる

if hoge=="hoge"
print "ok2"
end


else式

if hoge!="hoge"
print "ok3"
else
print "ng3"
end


Perlと同じelsif式。PHPのelseifやPYTHONのelifとは違う。

if hoge!="hoge"
print "ok4"
elsif hoge=="hoge"
print "ng4"
end


ifの反対のunless。条件に合わない場合にコードが実行されます。(thenは省略可能)

unless hoge!="hoge" then
print "ng5"
end


case文(thenは省略可能)

case hoge
when "hage" then
print "hage6"
when "huga" then
print "huge6"
when "hoge" then
print "hoge6"
else
print "ng"
end


面白いなと思ったのは式修飾子。式の後ろにif文(unless文)を記述して制御できる。

print "ok7" if hoge=="hoge"


参考:条件分岐 - Ruby入門
タグ:if ELSIF case unless
posted by ねこまんま at 23:45 | Comment(0) | TrackBack(0) | 文法 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。