別のキーワード
ライブラリ
- ビルトイン (36)
- fileutils (24)
-
irb
/ extend-command (12) - win32ole (12)
クラス
- Object (12)
-
RubyVM
:: InstructionSequence (12) -
WIN32OLE
_ TYPE (12)
モジュール
- FileUtils (24)
-
IRB
:: ContextExtender (12) - Kernel (12)
キーワード
-
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (6) -
SCRIPT
_ LINES _ _ (12) - copy (12)
- cp (12)
-
default
_ event _ sources (12) - drb (12)
- getoptlong (12)
-
install
_ extend _ commands (12) - irb (12)
-
irb
/ completion (12) -
require
_ relative (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
to
_ a (12) - セキュリティモデル (12)
検索結果
-
Kernel
. # require _ relative(relative _ feature) -> bool (6153.0) -
現在のファイルからの相対パスで require します。
...現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param r......elative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load のスコープ
ローカル変数はファイル間では共有されません。ですので、
ロードしたライブラリのロ......扱い方はKernel.#loadでも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
require 'some'
p $a #=> 1
p @a #=> 1
p A #=> 1
p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)
//}... -
ruby 1
. 6 feature (126.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...が定義されていない場合例外 NameError を起こ
すようになりました。((<ruby-bugs-ja:PR#216>))
Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil
=> -:2:in `remove_ins......ule_eval>))
((<Module/module_eval>)) のブロック内で定数やクラス変数のスコープが
変わることはなくなりました。((<ruby-dev:17876>))
class Foo
FOO = 1
@@foo = 1
end
FOO = 2
@@foo = 2
Foo.module_eval {......張ライブラリに対して autoload が効いていませんでした。((<ruby-dev:16379>))
autoload :Fcntl, "fcntl"
require "fcntl"
=> -:2:in `require': uninitialized constant Fcntl (NameError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2... -
ruby 1
. 8 . 4 feature (102.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...1.8.4 (2005-12-22) [i686-linux]
:foo!
:bar?
4) :$- always treats next character literally:
p eval(":$-\n") # => :"$-\n"
p :$-( # => :"$-("
p :$- # => :"$- "
p :$-#.object_id # => 3950350
# => ru......Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (rb_call_super): should call method_missing if super is
# called from Kernel method.
#
# * eval.c (exec_under): frame during eval should preserve external
# information.
: super [bug]
Kerne......) の IP
オブジェクトがデフォルトの IP オブジェクト (デフォルトのスレッドグルー
プに属するもの.require 'multi-tk' の際に生成される) であるか,操作し
ようとしている IP オブジェクトが自らの直接の slave IP であ... -
irb (78.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...れます。
IRB.conf[:AUTO_INDENT] = false
IRB.conf[:BACK_TRACE_LIMIT] = 16
IRB.conf[:DEBUG_LEVEL] = 1
IRB.conf[:ECHO] = nil
IRB.conf[:EVAL_HISTORY] = nil
IRB.conf[:HISTORY_FILE] = nil
IRB.conf[:IGNORE_EOF] = true
IRB.conf[:IGNORE_SIGINT] = true
IRB.conf[:INSPECT_MODE] = nil
IR......で一行ずつ評価されます。
: irb_require(path)
Ruby の require の irb 版です。
ファイル path を現在の irb インタプリタ上で実行します。
path に Ruby スクリプトを指定した場合は、Kernel.#require と異な
り、path の内容を irb で一......ように、irb 上で一行ず
つ評価されます。require に成功した場合は true を、そうでない場合は
false を返します。
拡張ライブラリ(*.so,*.o,*.dll など)を指定した場合は単純に require さ
れます。
: help(*names)
: irb_help(*names)... -
drb (42.0)
-
分散オブジェクトプログラミングのためのライブラリです。
...ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end
ro.instance_eval("DANGEROUS RUBY CODE!")
このような instance_eval による危険性は $SAFE を 1
以上にする......ルを2つサーバ側/クライアント側として起動して、サーバ側を
先に動かしてください。
==== サーバ側コード
require 'drb/drb'
# 通信を待ち受ける URI
SERVER_URI="druby://localhost:8787"
class TimeServer
def get_current_time
retu......ER_URI, FRONT_OBJECT, :safe_level => 1)
# DRb のスレッドが終了するのを待つ
DRb.thread.join
==== クライアント側コード
require 'drb/drb'
# 接続先の URI
SERVER_URI="druby://localhost:8787"
# DRbサーバを起動する
# この例には必要ないが、......ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end
ro.instance_eval("DANGEROUS RUBY CODE!")
このような instance_eval による危険性は $SAFE を 1
にすること... -
getoptlong (36.0)
-
getoptlong は、GNU の getopt_long() とまったく同じ方式でコマンド 行オプションの解析を行う Ruby のライブラリです。
...) および getoptlong.rb には、`REQUIRE_ORDER',
`PERMUTE', `RETURN_IN_ORDER' という、3 つの「順序形式」が用
意されています。それぞれの処理形式は、非オプション引数についての扱い方
が異なります。
* REQUIRE_ORDER:
非オプション引数......です。
=== POSIXLY_CORRECT
環境変数 POSIXLY_CORRECT が定義されていると、処理形式に `PERMUTE' を
選択していても、REQUIRE_ORDER 形式で処理されます。
=== 使い方
あなたの作ったプログラムのヘルプメッセージが、次のようになっ......れたいときは、次のコードをあなたのプログラム
に足して下さい。
begin
parser.each_option do |name, arg|
eval "$OPT_#{name.sub(/^--/, '').gsub(/-/, '_').upcase} = '#{arg}'"
end
rescue
exit(1)
end
each_option メソッドは、... -
セキュリティモデル (30.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...(Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
===== 汚染されるオブジェクト......ます。
* Object#untaint
====[a:level4] レベル 4
廃止されました。
=== セーフレベルに関するその他の詳細
* requireは$SAFE = 0で実行される
* Level 1以上では起動時に以下の違いがある
* 環境変数 RUBYLIB を $: に加えない......esult = yield
}.join
result
end
lib = "insecure_library".taint # 外部から受け取った文字列(仮)
safe(1) { require lib } # $SAFE が 1 なので例外
require lib # 外側は影響を受けない
//}
=== 拡張ライブラリでの扱い
* 拡張ライブ......(Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
廃止されました。
==== レベル 3......廃止されました。
====[a:level4] レベル 4
廃止されました。
=== セーフレベルに関するその他の詳細
* requireは$SAFE = 0で実行される
* Level 1以上では起動時に以下の違いがある
* 環境変数 RUBYLIB を $: に加えない
*......$SAFE = 0
end.join
result
end
lib = "insecure_library".taint # 外部から受け取った文字列(仮)
safe(1) { require lib } # $SAFE が 1 なので例外
require lib # 外側は影響を受けない
//}
=== 拡張ライブラリでの扱い
* 拡張ライブ... -
NEWS for Ruby 2
. 6 . 0 (24.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...__ と __LINE__ の二要素配列として返します。
従来でも eval("[__FILE__, __LINE__]", binding) とすることでこれらの情報は得られましたが、
将来的に Kernel.#eval は binding のソースコード行を無視する変更を予定している......ソッドに対応する AST ノードを返します。 [実験的]
* RubyVM
* 新規メソッド
* RubyVM.resolve_feature_path は "require(feature)" で読み込むファイルを
特定します。 [実験的] 15230
* String
* String#crypt は非推奨になりまし......れました。 15287
* 新規メソッド
* TracePoint#parameters 14694
* TracePoint#instruction_sequence 15287
* TracePoint#eval_script 15287
* 変更されたメソッド
* TracePoint#enable がキーワード引数 "target:" と "target_line:" を
受け... -
irb
/ completion (24.0) -
irb の completion 機能を提供するライブラリです。
...提供するライブラリです。
=== 使い方
$ irb -r irb/completion
とするか, ~/.irbrc 中に
require "irb/completion"
を入れてください.
irb実行中に require "irb/completion" してもよいです.
irb 実行中に [Tab] を押すとコンプレーションします......がでます. 候補が唯一ならば完全に補完します.
irb(main):001:0> in
in inspect instance_eval
include install_alias_method instance_of?
initialize install_aliases instance_variables
irb(main):001:0> inspec......foo.id foo.respond_to?
foo.__id__ foo.inspect foo.send
foo.__send__ foo.instance_eval foo.singleton_methods
foo.class foo.instance_of? foo.taint
foo.clone foo.instance_variables foo.taint...