[#49914] [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net>

山口と申します。

23 messages 2014/08/13
[#49917] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/08/14

助田です。

[#49928] Re: [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net> 2014/08/29

山口です。

[#49937] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/08/29

助田です。

[#49947] Re: [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net> 2014/09/01

> 助田です。

[#49948] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/09/01

助田です。

[#49949] Re: [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net> 2014/09/02

> 助田です。

[#49950] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/09/02

助田です。

[#49951] Re: [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net> 2014/09/03

山口です。

[#49952] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/09/03

助田です。

[#49955] Re: [質問] RubyからIE操作 ie.Document.All.???.click — <yamataka@...08.itscom.net> 2014/09/05

> 助田です。

[#49956] Re: [質問] RubyからIE操作 ie.Document.All.???.click — MasakiSuketa <masaki.suketa@...> 2014/09/05

助田です。

[#49929] [質問] ruby スクリプト中より、ファイルへのリダイレクトされているか知る方法 — <yamataka@...08.itscom.net>

山口と申します。

12 messages 2014/08/29

[ruby-list:49933] Re: [質問] ruby スクリプト中より、ファイルへのリダイレクトされているか知る方法

From: "Unno, Hideyuki" <unno.hideyuki@...>
Date: 2014-08-29 03:04:58 UTC
List: ruby-list #49933
stat でわかりそうですよねと思ってたら出遅れてしまった。

$ ruby -e 'p $stdout.stat'
#<File::Stat dev=0x1, ino=0, mode=020000, nlink=1, uid=0, gid=0, rdev=0x1, size=0, blksize=nil, blocks=nil, atime=1970-01-01 09
00:00 +0900, mtime=1970-01-01 09:00:00 +0900, ctime=1970-01-01 09:00:00 +0900>

mode の値に着目して。
リダイレクトされてないとき:
S_IFCHR	0020000	キャラクター・デバイス

$ ruby -e 'p $stdout.stat' | cat
#<File::Stat dev=0x1, ino=0, mode=010000, nlink=1, uid=0, gid=0, rdev=0x1, size=0, blksize=nil, blocks=nil, atime=2004-11-09 11
01:17 +0900, mtime=2004-11-09 11:01:17 +0900, ctime=2004-11-09 11:01:17 +0900>

パイプ:
S_IFIFO	0010000	FIFO

$ ruby -e 'p $stdout.stat' > hoge
$ cat hoge
#<File::Stat dev=0x0, ino=0, mode=0100666, nlink=1, uid=0, gid=0, rdev=0x0, size=0, blksize=nil, blocks=nil, atime=2014-08-29 1
:57:00 +0900, mtime=2014-08-29 11:57:00 +0900, ctime=2014-08-29 11:57:00 +0900>

ファイルにリダイレクトされてるとき:
S_IFREG	0100000	通常のファイル

って感じになりました。MinGW なので、Cygwin では様子が違うかも知れないですが。
$ ruby -v
ruby 1.9.3p448 (2013-06-27) [i386-mingw32]

-うんの
-----Original Message-----
From: ruby-list [mailto:ruby-list-bounces@ruby-lang.org] On Behalf Of Nobuyoshi Nakada
Sent: Friday, August 29, 2014 11:55 AM
To: Ruby users (Japanese)
Subject: [ruby-list:49932] Re: [質問] ruby スクリプト中より、ファイルへのリダイレクトされているか知る方法

(2014/08/29 11:18), yamataka@u08.itscom.net wrote:
> ruby スクリプト実行し、ファイルへ出力をリダイレクトしているのですが、
> スクリプト内で、ファイルにリダイレクトしているかを知る方法はありますでし
> ょうか?

コンソールにつながっているかはIO#tty?で調べられます。
これはパイプでもfalseになるので、ファイルかそれ以外かが問題の場合は
IO#statとFile::Stat#file?などを組み合わせます。

    $ ruby -e 'STDERR.puts STDOUT.stat.file?' > foo
    true

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread