種類
- インスタンスメソッド (77)
- 文書 (44)
- 特異メソッド (24)
- モジュール関数 (11)
- クラス (2)
ライブラリ
- ビルトイン (19)
- drb (22)
-
net
/ telnet (2) - psych (16)
- rake (44)
-
rubygems
/ spec _ fetcher (11)
クラス
-
DRb
:: DRbServer (11) -
Gem
:: SpecFetcher (11) - Object (11)
-
Psych
:: Handler (11) -
Rake
:: FileList (33)
モジュール
- DRb (11)
- Psych (5)
-
Rake
:: Cloneable (11) -
RubyVM
:: AbstractSyntaxTree (8)
キーワード
- Rubyの起動 (11)
- Telnet (2)
- clone (11)
-
excluded
_ from _ list? (11) -
is
_ a? (11) -
kind
_ of? (11) - new (11)
- of (2)
- parse (2)
-
parse
_ file (4) -
respond
_ to? (11) -
ruby 1
. 8 . 2 feature (11) -
safe
_ load (5) -
start
_ sequence (11) -
start
_ service (11) - セキュリティモデル (11)
- 正規表現 (11)
検索結果
先頭5件
- Gem
:: SpecFetcher # list(all = false) -> Array - Rake
:: FileList # excluded _ from _ list?(file _ name) -> bool - Rake
:: Cloneable # clone -> object - RubyVM
:: AbstractSyntaxTree . parse _ file(pathname , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node - Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil , symbolize _ names: false) -> object
-
Gem
:: SpecFetcher # list(all = false) -> Array (24308.0) -
Gem::sources に格納されている各ソースから利用可能な Gem のリストを取得して返します。
...Gem::sources に格納されている各ソースから利用可能な Gem のリストを取得して返します。
@param list 真を指定すると全てのバージョンの情報を返します。... -
Rake
:: FileList # excluded _ from _ list?(file _ name) -> bool (15243.0) -
与えられたファイル名が除外される場合は、真を返します。 そうでない場合は偽を返します。
...le_name ファイル名を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb")
file_list.exclude("test1.rb")
fil......e_list.excluded_from_list?("test1.rb") # => true
file_list.excluded_from_list?("test2.rb") # => false
end
//}... -
Rake
:: Cloneable # clone -> object (9124.0) -
自身を複製します。
...ています。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList['a.c', 'b.c']
clone = file_list.clone
clone # => ["a.c", "b.c"]
clone.exclude("a.c")
clone == file_list # => false
end
//}... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (6515.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
...します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定する......場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse_file(__FILE__)
# => (SCOPE@1:0-1:50
# tbl: []
# args: nil
# body:
# (FCALL@1:0-1:50 :pp
# (LIST@1:3-1:50
# (CALL@1:3-1:50
# (COLON2@1:3-1:29 (CONST@1:3-1:9 :RubyVM......) :AbstractSyntaxTree)
# :parse_file (LIST@1:41-1:49 (STR@1:41-1:49 "") nil)) nil)))
//}... -
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil , symbolize _ names: false) -> object (6508.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......。
任意のクラスを許可するには whitelist_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[][ruby]{
Psych.safe_load(yaml, [Date])
//}
すると上のクラス一覧に加......アスは aliases パラメーターを変更することで明示的に許可できます。
//emlist[例][ruby]{
x = []
x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, [], [], true # => エイリアスが読み込まれる
//}
yaml にホワ... -
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil) -> object (6407.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......。
任意のクラスを許可するには whitelist_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[][ruby]{
Psych.safe_load(yaml, [Date])
//}
すると上のクラス一覧に加......アスは aliases パラメーターを変更することで明示的に許可できます。
//emlist[例][ruby]{
x = []
x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, [], [], true # => エイリアスが読み込まれる
//}
yaml にホワ... -
Rake
:: FileList # is _ a?(klass) -> bool (6124.0) -
自身に Array のフリをさせます。
...自身に Array のフリをさせます。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.is_a?(Array) # => true
file_list.is_a?(String) # => false
end
//}... -
Rake
:: FileList # kind _ of?(klass) -> bool (6124.0) -
自身に Array のフリをさせます。
...自身に Array のフリをさせます。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.is_a?(Array) # => true
file_list.is_a?(String) # => false
end
//}... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node (6115.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
...します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定する......場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse_file(__FILE__)
# => (SCOPE@1:0-1:50
# tbl: []
# args: nil
# body:
# (FCALL@1:0-1:50 :pp
# (LIST@1:3-1:50
# (CALL@1:3-1:50
# (COLON2@1:3-1:29 (CONST@1:3-1:9 :RubyVM......) :AbstractSyntaxTree)
# :parse_file (LIST@1:41-1:49 (STR@1:41-1:49 "") nil)) nil)))
//}... -
Net
:: Telnet (6024.0) -
このクラスは telnet のクライアント機能を提供します。
...このクラスは telnet のクライアント機能を提供します。
telnet でリモートホストにログインしてシェル経由で
コマンドを実行することを考えてみましょう。
これを Net::Telnet で実現するためには、
まず Net::Telnet.new に "Host"......elnet のオブジェクトは SMTP や HTTP のような telnet で
ないサービスにも利用できます。この場合には
Net::Telnet.new に "Port" オプションを与えることで
ポートを指定する必要があるでしょう。また、
"Telnetmode" オプションに false......をする
# Net::Telnet#login は使えない(ログインのコマンドが異なる)ので
# Net::Telnet#cmd でユーザ名とパスワードを送る
pop.cmd("user " + "your_username") { |c| print c }
pop.cmd("pass " + "your_password") { |c| print c }
# list コマンドで来てい... -
Psych
:: Handler # start _ sequence(anchor , tag , implicit , style) -> () (3124.0) -
sequence の開始を見付けたときに呼び出されます。
...には nil が渡されます。
tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequ......名
@param implicit sequence が implicit に開始されかどうか
@param style sequence のスタイル
=== Example
以下の YAML ドキュメントを例として考えます。
---
- !!seq [
a
]
- &pewpew
- b
この YAML ドキュメントには3つの list が含まれて...... list の中に 2 つの list が含まれています。
start_sequence メソッドは 順に以下の引数で呼び出されます。
# anchor tag implicit style
[nil, nil, true, 1 ]
[nil, "tag:yaml.org,2002:seq", false,... -
セキュリティモデル (3018.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-e:1: tried to downgrade safe level from 1 to 0 (Sec......れた文字列を引数とした以下の操作
* Dir, IO, File, FileTest のメソッド呼び出し
//emlist{
$ ruby -e '$SAFE = 1; open(ARGV[0])' hoge
-e:1:in `initialize': Insecure operation - initialize (SecurityError)
from -e:1
//}
* ファ......汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染されない。
=== 使用例
一旦高くし......* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
一旦高くした$S......て ensure で戻す
//emlist{
$SAFE = 0
th = Thread.new do
p $SAFE # => 0
$SAFE = 1
ensure
$SAFE = 0
end
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事もできる
//emlist{
$ ruby -e '$SAFE......* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
$SAFE はスレッド... -
RubyVM
:: AbstractSyntaxTree . of(proc , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (415.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
...ます。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定する......成します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:39-2:44 (LIT@2:39-2:40 1) :+
# (LIST@2:43-2:44 (LIT@2:43-2:44 2) nil)))
def hello
puts "hello, world"
end
pp RubyVM::Abstra......method(:hello))
# => (SCOPE@5:0-7:3
# tbl: []
# args:
# (ARGS@5:9-5:9
# pre_num: 0
# pre_init: nil
# opt: nil
# first_post: nil
# post_num: 0
# post_init: nil
# rest: nil
# kw: nil
# kwrest: nil
# block: nil)
# b... -
RubyVM
:: AbstractSyntaxTree . parse(string , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (409.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
...ます。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定する......場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
# args: nil
# body:
# (LASGN@1:0-1:9 :x
# (OPCALL@1:4-1:9 (LIT@1:4-1:5 1) :+ (LIST@1:8-1:9 (LIT@1:8-1:9 2) nil))))
pp RubyVM::AbstractSyntaxTree.......parse("x = 1; p(x; y=2", error_tolerant: true)
# => (SCOPE@1:0-1:15
# tbl: [:x, :y]
# args: nil
# body: (BLOCK@1:0-1:15 (LASGN@1:0-1:5 :x (LIT@1:4-1:5 1)) (ERROR@1:7-1:11) (LASGN@1:12-1:15 :y (LIT@1:14-1:15 2))))
//}... -
Object
# respond _ to?(name , include _ all = false) -> bool (255.0) -
オブジェクトがメソッド name を持つとき真を返します。
...きることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライ......NotImplementedError が発生する場合は true を返します。
メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。
@param name Symbol または文字列で指定するメソッド名です。
@param include_all priv...... false で指定します。省略した場合
は false(含めない) を指定した事になります。
//emlist[][ruby]{
class F
def hello
"Bonjour"
end
end
class D
private
def hello
"Guten Tag"
end
end
list = [F.new,D.new]
list.each{|it| puts it.hello if...