キーワード
-
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等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-e:1: tried to downgrade safe level from 1 to 0 (SecurityError)
//}
原則として、各セキュリティレベルにはそれ以下のセキュリティレベルの制限も
適用されます。たとえ......(SecurityError)
from -e:1
//}
* ファイルテスト演算子の使用、ファイルの更新時刻比較
* 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (......第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
===== 汚染されるオブジェクト
* レベル1と同様
===== 禁止される操作
レベル1の制限に加え、以下の操作が禁止されます。
* Dir... -
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 は安定版です。この版での変更はバグ修正がメイン になります。
...-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 とは異なる挙動です)
p Errno::......EAGAIN
p Errno::EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ru......by 1.6.8 (2003-02-13) [i586-linux]
Errno::EAGAIN
Errno::EAGAIN
== 1.6.7 (2002-03-01) -> 1.6.8 (2002-12-24)
: 2002-10-02: Thread (cygwin)
Cygwin で、Thread の切替えが行われないことがありました。
((<ruby-list:36058>)), ((<ruby-list:24637>))
: 2002-10-... -
セキュリティモデル (85.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-e:1: tried to downgrade safe level from 1 to 0 (SecurityError)
//}
原則として、各セキュリティレベルにはそれ以下のセキュリティレベルの制限も
適用されます。たとえ......(SecurityError)
from -e:1
//}
* ファイルテスト演算子の使用、ファイルの更新時刻比較
* 外部コマンド実行 (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 を $: に加えない
* 環境変数 RUBYOPT を処理しない
* 標準入力からのプログラム読み込みを行わない
(スクリプトがsetgid, setuidされている時も... -
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 行まで。コメントとみなされ実行されない。
その名の通り、この部......ク。
参照:spec/regexp
: 鬼車
: Oniguruma
Ruby 1.9.x で採用されていた正規表現エンジン。
: オーバーライド
: override
Ruby では上位クラスや include したモジュールで定義されているメソッドを
再定義することを「オーバーラ... -
NEWS for Ruby 2
. 7 . 0 (49.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...nreachable
in {a: 0, b: var}
p var #=> 1
end
//}
//emlist[][ruby]{
case -1
in 0 then :unreachable
in 1 then :unreachable
end #=> NoMatchingPatternError
//}
//emlist{
json = <<END
{
"name": "Alice",
"age": 30,
"children": [{ "name": "Bob", "age": 2 }]
}
END
JSON.parse(json, symbolize_names......ame #=> "Bob"
p age #=> 2
JSON.parse(json, symbolize_names: true) in {name: "Alice", children: [{name: "Charlie", age: age}]}
#=> NoMatchingPatternError
//}
* 詳細は https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7 のスライドを参照してください。
*......引数付きで呼び出すとArgumentErrorになります。 14183
//emlist[][ruby]{
def foo(h, **nil); end; foo(key: 1) # ArgumentError
def foo(h, **nil); end; foo(**{key: 1}) # ArgumentError
def foo(h, **nil); end; foo("str" => 1) # ArgumentError
def foo(h, **nil); end; foo({key: 1})... -
NEWS for Ruby 2
. 5 . 0 (43.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...を指定するとテキストモードになります 13350
* File#path はFile::Constants::TMPFILE付きで開いたファイルに対して IOError を発生させます
13568
* File.stat, File.exist? など rb_stat() を使用しているメソッドではGVLを解放するよう......67
* IO#pread を追加 4532
* IO#pwrite を追加 4532
* IO#write 複数の引数を受け取れるようになりました 9323
* IOError
* IO#close 以前は"stream closed"というメッセージの例外が発生していましたが、"stream closed in another thread"とい......r#anybits?, Integer#nobits? を追加 12753
* Integer.sqrt を追加 13219
* Kernel
* Object#yield_self を追加 6721
* Kernel.#pp をrequireなしで使えるようにしました 14123
* Kernel.#warn :uplevel というキーワード引数を追加しました 12882
* Met... -
制御構造 (43.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...、何らかの値を返すものが
あります(返さないものもあります。値を返さない式を代入式の右辺に置くと
syntax error になります)。
RubyはC言語やPerlから引き継いだ制御構造を持ちますが、
その他にd:spec/call#blockという
制御構......s error
retry # restart from beginning
end
//}
rescue 節以外で retry が用いられた場合には例外 SyntaxError が発生
します。
=== 例外処理
====[a:raise] raise
//emlist[例][ruby]{
raise "you lose" # 例外 RuntimeError を発生させる
# 以下の二つは SyntaxErro......を発生させる
raise SyntaxError, "invalid syntax"
raise SyntaxError.new("invalid syntax")
raise # 最後の例外の再発生
//}
文法:
raise
raise messageまたはexception
raise error_type, message
raise error_type, message, traceback... -
このマニュアルのヘルプ (37.0)
-
このマニュアルのヘルプ === 記号の説明
...ze メソッドは整数を返すという意味です。
: Kernel.#require の .# って何?
「.#」はモジュール関数であることを表します。「Kernel.#require」は
「Kernel のモジュール関数である require 」という意味です。
: String#size の # って何?... -
ruby 1
. 8 . 4 feature (31.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ar; p "bar"; end
alias :"foo" :"bar"
foo
# => ruby 1.8.4 (2005-12-22) [i686-linux]
-:2: syntax error, unexpected tSTRING_CONTENT
alias :"foo" :"bar"
^
-:2: warning: unused lite......22) [i686-linux]
-:2: syntax error, unexpected '(', expecting $end
#Tue 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): fr......g eval should preserve external
# information.
: super [bug]
Kernelのメソッド内でsuperを呼んだ時に、存在しないsuperclass
にアクセスしようとするバグの修正。
module Kernel
def foo
super
end
end... -
Rubyの起動 (13.0)
-
Rubyの起動 * cmd_option * shebang
...z
//}
: -I directory
ファイルをロードするパスを指定(追加)します。指定されたディレ
クトリはRubyの配列変数($:)に追加されます。
: -l
行末の自動処理を行います。まず、$\ を
$/ と同じ値に設定し, printでの出力
時に......atz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
//}
: -r feature
スクリプト実行前に feature で指定されるライブラリを
Kernel.#require します。
`-n'オプション、`-p'オプションとともに使う時に特に有効です。
: -s
スクリプト名に続く,......れかを指定できます。
//emlist{
* gems rubygems (無効にするのはデバッグ専用、default: enabled)
* error_highlight error_highlight (default: enabled)
* did_you_mean did_you_mean (default: enabled)
* rubyopt RUBYOPT 環境変数 (default: ena... -
ruby 1
. 9 feature (13.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...や yield の何かが変わりました
: Proc#yield が導入されました
: nil.yield が導入されました。no block given (LocalJumpError) という例外を生成します
: 仮引数で、* の後にも必須引数をとれるようになりました
: 実引数にいくつで......ッドを呼び出せなくなりました。
=== 2005-06-09
: ENV.[]= [change]
ENV[key] = nil で要素を削除する機能は失われ、TypeError になるようになりました。
((<ruby-list:40865>))
=== 2005-06-08
: Array#nitems [compat]
Array#nitems にブロックを渡せる......((<zw-kdoo(2004-10-24)|URL:http://yowaken.dip.jp/tdiary/20041024.html#c02>))
=== 2004-10-20
: Proc#dup [new]
追加 ((<ruby-talk:116915>))
: require [change]
feature が $" に追加されるタイミングが load された後に変わりました。
((<ruby-list:40085>))
=== 2004-10-05...