キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) - クラス/メソッドの定義 (11)
- 制御構造 (11)
検索結果
-
ruby 1
. 8 . 3 feature (265.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...した。
=== 2005-09-16
: File.join [ruby] [compat]
型チェックを厳密にするようになりました。
$ ruby-1.8.2 -e 'p File.join(1, 2)'
"1/2"
$ ruby-1.8.3 -e 'p File.join(1, 2)'
-e:1:in `join': can't convert Fixnum into String (TypeError)
from -e:1......た pathname がピリオドで終る場合、ピリオドではなく空の文字列を返すようになりました。
$ ruby-1.8.2 -e 'p File.extname("a.")'
"."
$ ruby-1.8.3 -e 'p File.extname("a.")'
""
=== 2005-09-13
: Logger#formatter [lib] [new]
: Logger#formatter= [lib] [n......パイルされた時のみ。
=== 2005-09-09
: $SAFE [ruby] [compat]
メソッドが定義された時の $SAFE レベルを記憶するようになりました。
メソッドは定義された時の $SAFE レベルで実行されます。
$SAFE レベル 3 以上の環境下において... -
ruby 1
. 6 feature (193.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...指定できるようになりました。((<ruby-talk:43513>))
この場合、$; を分割文字列として使用します。以前までは $; が有効にな
るのは引数省略時だけでした。
$; = ":"
p "a:b:c".split(nil)
=> -:2:in `split': bad separator (ArgumentError......g: ambiguous first argument; make sure
ruby 1.6.7 (2002-07-30) [i586-linux]
"\\#"
nil
: 2002-04-29: rb_find_file()
$SAFE >= 4 で、絶対パス指定でない場合、SecurityError 例外が発生する
ようになりました。
: 2002-04-26: Regexp.quote......1
1.1
:
1.9
: 2002-04-01: ((<組み込み変数/$~>))
$~ に nil を代入できないバグが修正されました。((<ruby-dev:16697>))
/foo/ =~ "foo"
p $~
$~ = nil
p $~
=> ruby 1.6.7 (2002-03-01) [i586-linux]
#<MatchData:0x401b1be4>... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (181.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...込み変数/$defout>)) [obsolete]
: ((<組み込み変数/$deferr>)) [obsolete]
: ((<組み込み変数/$stdout>)) [change]
: ((<組み込み変数/$stderr>)) [change]
: ((<組み込み変数/$stdin>)) [change]
$stdout, $stderr は、$defout, $deferr の別名になり
$defout, $deferr は ((......なりました
$stdin は、普通のグローバル変数となりました(STDINをリダイレクトする
動作はなくなりました)
$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))
$stdin にオ......を投げます。
(リダイレクトしなくなった点を除けば、1.6 とそれほど違いはないようです)
: ((<組み込み変数/$VERBOSE>))
三段階のレベルを持つようになりました。
* nil: 警告を出力しない (-W0 新しい警告レベル)
* false:... -
ruby 1
. 8 . 2 feature (133.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...((<ruby-core:03922>))
$ ruby1.8.1 -e "puts '# #{}'.inspect"
"# #{}"
$ ruby1.8.2 -e "puts '# #{}'.inspect"
"# \#{}"
: String#dump [ruby] [bug]
式展開にならない '#'がエスケープされないようになりました。
((<ruby-core:03922>))
$ ruby1.8.1 -e "puts '......# #{}'.dump"
"\# \#{}"
$ ruby1.8.2 -e "puts '# #{}'.dump"
"# \#{}"
=== 2004-12-08
: rss/rss [lib] [obsolete]
#item=/#set_item and so on are obsolete.
=== 2004-12-06
: Hash#hash [ruby] [new]
追加
((<ruby-talk:122482>))
Hash#hash は 2004-12-16 に削除されました。......nil を 0 に変換しなくなりました。
$ ruby-1.8.1 -e 'p [nil].pack("L")'
"\000\000\000\000"
$ ruby-1.8.2 -e 'p [nil].pack("L")'
-e:1:in `pack': cannot convert nil into Integer (TypeError)
from -e:1
$ ruby-1.8.2 -e 'p [nil].pack("P")'
"\000\000\00... -
クラス/メソッドの定義 (121.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...にメソッド定義内のコンテキストで行われます。
//emlist[例][ruby]{
$gvar = 3
def bar(x, y = $gvar) # 確かに定義時には$gvar == 3だが
10 * x + y
end
$gvar = 7
# 呼び出し時の$gvarの値が使われる
p bar(5) #=> 57 (!= 53)
//}
仮引数の直前に * があ......self._val + other._val
end
end
//}
=== 定義に関する操作
====[a:alias] alias
//emlist[例][ruby]{
alias foo bar
alias :foo :bar
alias $MATCH $&
//}
文法:
alias 新メソッド名 旧メソッド名
alias 新グローバル変数名 旧グローバル変数名......リアスは一方の変更が他方に反映される
$_ = 1
alias $foo $_
$_ = 2
p [$foo, $_] # => [2, 2]
$bar = 3
alias $foo $bar
$bar = 4
p [$foo, $bar] # => [4, 4]
//}
ただし、正規表現の部分文字列に対応する変数 $1,$2, ... には別名を付けることができません... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (25.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...gクラスの「%」演算子。String#% メソッド。文字列中ではフォーマット指定子としても使われる。
: %r{/etc/httpd/logs$} や %w[foo bar baz] ・・ %<文字><区切り文字><文字列><区切り文字>
d:spec/literal#percent。<区切り文字>には任意の非英......号 <、の場合は、対応する右側の括弧が終わりの <区切り文字> になります。
//emlist{
p %r{/etc/httpd/logs$} #=> /\/etc\/httpd\/logs$/
p %w[foo bar baz] #=> ["foo", "bar", "baz"]
//}
: %!STRING!
% 記法の一種。d:spec/literal#percent。ダブルクォート......したらtrueを返します。
: ~ /xxx/
/xxx/ =~ $_ の省略形。~の後ろは正規表現でなければいけません。
===[a:dollar] $
: $xxx
グローバル変数。d:spec/variables#globalを参照。
: $_ や $! など ・・$<1文字の数字、記号>
特殊変数(組み込み... -
制御構造 (19.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...件式が正規表現のリテラルである時には特別に
//emlist[][ruby]{
$_ =~ リテラル
//}
であるかのように評価されます。
==== if 修飾子
//emlist[例][ruby]{
print "debug\n" if $DEBUG
//}
文法:
式 if 式
右辺の条件が成立する時に、左......辺の式を評価してその結果を返します。
条件が成立すれば nil を返します。
====[a:case] case
//emlist[例][ruby]{
case $age
when 0 .. 2
"baby"
when 3 .. 6
"little child"
when 7 .. 12
"child"
when 13 .. 18
"youth"
else
"adult"
end
//}
文法:
case [......形式
では第一引数で指定された例外を、第二引数をメッセージとして発生さ
せます。第四の形式の第三引数は
$@または
Kernel.#callerで得られる
スタック情報で、例外が発生した場所を示します。
発生した例外は後述の begin...