別のキーワード
キーワード
-
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) - Rubyの起動 (11)
- Ruby用語集 (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) - このマニュアルのヘルプ (11)
- セキュリティモデル (11)
- 制御構造 (8)
検索結果
-
セキュリティモデル (115.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...* プログラム開始時の$SAFEの値は0
* 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更す......* 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
===== 汚......#setpriority Process.#egid= Process.#kill
* 危険なパスからの Kernel.#load
* 汚染された文字列を引数にしての Kernel.#load (ラップされていても)
* Kernel.#syscall
* Kernel.#exit!
* Kernel.#trap
==== レベル 3
生成される全てのオブジェクト... -
NEWS for Ruby 2
. 6 . 0 (91.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...従来でも eval("[__FILE__, __LINE__]", binding) とすることでこれらの情報は得られましたが、
将来的に Kernel.#eval は binding のソースコード行を無視する変更を予定しているため 4352、
この新しいメソッドを用い......'x' が追加されました。 11258
* Kernel
* 別名
* Object#then が Object#yield_self の別名として追加されました。 14594
* 新規オプション
* Kernel.#Complex, Kernel.#Float, Kernel.#Integer,
Kernel.#Rational にエラー処理方法を指定......ションが
追加されました。 12732
* Kernel.#system に失敗時に例外を発生する :exception オプションが
追加されました。 14386
* 非互換な変更
* Kernel.#system と Kernel.#exec が非標準にファイルディスクリプタを閉... -
ruby 1
. 6 feature (85.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...範囲外の文字列を指定したときに例外を返す場合がありましたが、常に nil
を返すようになりました。(String#[]やString#slice と同じ結果を返すと
いうことです)
p "foo".slice!("bar") # <- 以前からこちらは nil を返してい......ymlink("foo", "bar")
p Dir.glob("bar")
=> ruby 1.6.7 (2002-03-01) [i586-linux]
[]
=> ruby 1.6.7 (2002-08-01) [i586-linux]
["bar"]
: 2002-06-13 Hash[]
Hash[] で、キーとなる文字列を dup & freeze していませんでした。
a = "k......tring#[]=
インデックスとして指定した文字列がレシーバに含まれない場合に、何もせ
ず右辺を返していました。
foo = "foo"
p foo["bar"] = "baz"
p foo
=> ruby 1.6.7 (2002-03-01) [i586-linux]
"baz"
"foo"
=> -:2:in `[]=': s... -
セキュリティモデル (85.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...* プログラム開始時の$SAFEの値は0
* 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更す......* 外部コマンド実行 (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 を $: に加えない......call されると、記憶していたセーフレベルで実行される。
* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, tru... -
Ruby用語集 (55.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...し、切り替えて使うための
ツールの一つ。Linux、macOS などで動作する。
https://github.com/rbenv/rbenv
: RD(Ruby Document format)
Ruby スクリプト中に記述することを念頭に作られたドキュメントフォーマット。
: RDoc
Ruby スクリ......ルが利用する、二つのオブジェクトの順序関係を表す
演算子 <=> の俗称。
: 埋め込みドキュメント
: embedded document
ソースコード中の =begin 行から =end 行まで。コメントとみなされ実行されない。
その名の通り、この部......まれているクラス。
ライブラリーを require することなく使うことができる。
参照:_builtin
: 組み込みライブラリー
: built-in library
Ruby 本体に組み込まれているライブラリー。require せずに使うことができる。
: クラス
:... -
NEWS for Ruby 2
. 7 . 0 (49.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...て導入されました。 14912
//emlist[][ruby]{
case [0, [1, 2, 3]]
in [a, [b, *c]]
p a #=> 0
p b #=> 1
p c #=> [2, 3]
end
//}
//emlist[][ruby]{
case {a: 0, b: 1}
in {a: 0, x: 1}
:unreachable
in {a: 0, b: var}
p var #=> 1
end
//}
//emlist[][ruby]{
case -1
in 0 then :unreachable
in 1......lat演算子(**)を足すことで警告を回避できます。
このように書けばRuby 3でも同じ意味で動きます。
//emlist[][ruby]{
def foo(key: 42); end; foo({key: 42}) # warned
def foo(**kw); end; foo({key: 42}) # warned
def foo(key: 42); end; foo(**{key: 42}) # O......なく明示的に
ハッシュとして渡してください。
このように書けばRuby 3でも同じ意味で動きます。
//emlist[][ruby]{
def foo(h, **kw); end; foo(key: 42) # warned
def foo(h, key: 42); end; foo(key: 42) # warned
def foo(h, **kw); end; foo({key: 42})... -
NEWS for Ruby 2
. 5 . 0 (43.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...r#anybits?, Integer#nobits? を追加 12753
* Integer.sqrt を追加 13219
* Kernel
* Object#yield_self を追加 6721
* Kernel.#pp をrequireなしで使えるようにしました 14123
* Kernel.#warn :uplevel というキーワード引数を追加しました 12882
* Met......ことができます。
//emlist[][ruby]{
Coverage.start(lines: true, branches: true, methods: true)
//}
* Rubyで書かれたファイルをいくつか読み込んでから、Coverage.result を使って結果を取得することができます。
//emlist[][ruby]{
Coverage.result
#=> { "/pa......い場合は、ラインカバレッジのみを計測します。
また Coverage.result も旧フォーマットを返します。
//emlist[][ruby]{
Coverage.result
#=> { "/path/to/file.rb"=> [1, 2, 0, nil, ...] }
//}
* drb
* ACL::ACLEntry.new は IPAddr::InvalidPrefixError を抑制... -
制御構造 (43.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...ように)でもないことに注意してください。
また if の条件式が正規表現のリテラルである時には特別に
//emlist[][ruby]{
$_ =~ リテラル
//}
であるかのように評価されます。
==== if 修飾子
//emlist[例][ruby]{
print "debug\n" if $DEBUG
//}......なかった場合は、else 節を実行します。
つまり、
//emlist[][ruby]{
case 式0
when 式1, 式2
stmt1
when 式3, 式4
stmt2
else
stmt3
end
//}
は以下の if 式とほぼ等価です。
//emlist[][ruby]{
_tmp = 式0
if 式1 === _tmp or 式2 === _tmp
stmt1
elsif 式3 === _......れます。
when 節の最後の式に `*' を前置すればその式は配列展開されます。
//emlist[][ruby]{
ary = [1,2,3]
case v
when *ary
# ..
end
//}
は、
//emlist[][ruby]{
case v
when 1, 2, 3
# ..
end
//}
と等価です。
また === がどのような条件で真になる... -
このマニュアルのヘルプ (37.0)
-
このマニュアルのヘルプ === 記号の説明
...ze メソッドは整数を返すという意味です。
: Kernel.#require の .# って何?
「.#」はモジュール関数であることを表します。「Kernel.#require」は
「Kernel のモジュール関数である require 」という意味です。
: String#size の # って何?......ます
複数の型の値を返すときは "|" を使って記述されています。
例:
# String または String の配列を返す
CGI#[](name) -> String | [String]
x オブジェクトと nil で成功・失敗を表す場合は「x | nil」が
使われています。
=== お問い... -
ruby 1
. 8 . 4 feature (31.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...from Kernel method.
#
# * eval.c (exec_under): frame during eval should preserve external
# information.
: super [bug]
Kernelのメソッド内でsuperを呼んだ時に、存在しないsuperclass
にアクセスしようとするバグの修正。
module Kernel......グの修正。((<ruby-core:06326>))
: Thread#pass [bug]
#Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (load_wait): need not to call rb_thread_schedule()
# explicitly. [ruby-core:04039]
#
# * eval.c (rb_thread_schedule): clear rb_thread_criti......by-lang.org>
#
# * eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when
# autoload succeeded.
#
# * variable.c (rb_autoload_load): now return true if autoload
# succeeded. fixed: [ruby-dev:27331]
const_missingが再定義されていて実行を継続... -
Rubyの起動 (13.0)
-
Rubyの起動 * cmd_option * shebang
...タプリタが自前でワイルドカードを展開して
Object::ARGV に設定します。この場合ワイルドカードとして
`*', `?', `[]', `**/' が使用できます。Win32 環境で、
ワイルドカード展開を抑止したい場合は引数をシングルクォート(') で括......atz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
//}
: -r feature
スクリプト実行前に feature で指定されるライブラリを
Kernel.#require します。
`-n'オプション、`-p'オプションとともに使う時に特に有効です。
: -s
スクリプト名に続く,......ルト)
* -W:no-experimental : 実験的な機能を使用した際に警告を出力しない
//}
ここで設定された値は Warning.[] で参照することができます。
NOTE: Ruby 2.7.2 からは `-W:no-deprecated' がデフォルトになります。警告を出力した... -
ruby 1
. 9 feature (13.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...1文字の String を返すようになりました
: sprintf の %c が 1文字の String を受け付けるようになりました
: String#[]= が右辺の整数を受け付けなくなりました
: String#chr という先頭の1文字を返すメソッドが追加されました
: I......引数で、* の後にも必須引数をとれるようになりました
: 実引数にいくつでも * を使えるようになりました
: [] メソッドの実引数で、通常のメソッド呼び出しの実引数に使える記法が全て使えるようになりました
* obsolete......((<URL:http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9+update+4>))
=== 2006-05-22
: accept
((<ruby-core:7917>))
=== 2006-03-21
: MatchData#[] [compat]
名前による参照
((<ruby-dev:28446>))
=== 2006-03-03
: FileUtils.cp_r [lib] [compat]
remove_destination オプションの...