キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 3
. 0 . 0 (4) - Rubyの起動 (11)
- pack テンプレート文字列 (11)
-
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) - 多言語化 (11)
- 正規表現 (11)
検索結果
-
Rubyの起動 (265.0)
-
Rubyの起動 * cmd_option * shebang
...とともに用いて, オートスプリットモードをONにします。
オートスプリットモードでは各ループの先頭で,
//emlist{
$F = $_.split
//}
が実行されます。`-n'か`-p'オプションが同時に指定されない限り,
このオプションは意味......BUG を
true にします。
: -E ex[:in]
: --encoding ex[:in]
デフォルトの外部エンコーディングと内部エンコーディングを:区切りで指定
します。内部エンコーディングを省略した場合は
Encoding.default_internal は nil になります。ま......ます。
//emlist{
# 変更しない場合
$ ruby -e 'p Encoding.default_external; p Encoding.default_internal'
#<Encoding:UTF-8>
nil
# 外部エンコーディングをEUC-JPにする場合
$ ruby -E EUC-JP -e 'p Encoding.default_external; p Encoding.default_internal'
#<Encoding:EUC-JP>
nil......先頭で,
//emlist{
$F = $_.split
//}
が実行されます。`-n'か`-p'オプションが同時に指定されない限り,
このオプションは意味を持ちません。
: --backtrace-limit=num
バックトレースの最大行数を指定します。
//emlist{
# test.rb
def f6......= raise
def f5 = f6
def f4 = f5
def f3 = f4
def f2 = f3
def f1 = f2
f1
//}
//emlist{
% ruby --backtrace-limit=3 test.rb
test.rb:1:in `f6': unhandled exception
from test.rb:2:in `f5'
from test.rb:3:in `f4'
from test.rb:4:in `f3'
... 3 levels...
//}
: -C directory
スクリプト実行... -
多言語化 (199.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
...字の使用は
推奨されません。
グローバル変数 $KCODE は廃止されました。
* m17n_prog
* convert
* ruby18
* encoding
* script_encoding
===[a:m17n_prog] M17N プログラミングの基本
プログラマは文字列を扱うときエンコーディングを常に意......して返します。
Ruby 1.9 ではこれを用いてエンコーディングを変換するのが標準的なやり方です。
String#force_encoding メソッドは文字列のエンコーディング情報を破壊的に書き換えます。
新しい文字列は生成されません。
例え......んだ文字列に後からエンコーディングを
設定する場合などに使います。
//emlist[例][ruby]{
"いろは".encode("Shift_JIS")
"\xA4\xA4\xA4\xED\xA4\xCF".force_encoding("EUC-JP")
//}
====[a:ruby18] Ruby 1.8 からの移行
Ruby 1.8 からの移行措置として、コマ... -
正規表現 (129.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパターンを記述するための......るかどうかを判定し、
また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。
//emlist[][ruby]{
/pat/
%r{pat}
//}
などの正規表現リテラルや Regexp.new などで正規表現
オブジェクトを得ることができます......うな文字列があります。
前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。
//emlist[][ruby]{
/京都|大阪|神戸/
//}
という正規表現においては、「京都」「大阪」「神戸」がリテラルで、
2つの「|」... -
ruby 1
. 8 . 4 feature (103.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ss
# disabled succeeding backtrack. fixed: [ruby-list:41328]
文字コードの形で正規表現の文字クラスを指定すると、それ以降の
バックトラックが効かなくなるバグの修正。((<ruby-list:41328>))
p(/^[a-z]+x[0-9]+$/ =~ "hogex111")......サンプル兼ライブラリ
#Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
#
# * ext/tk/README.macosx-aqua: [new document] tips to avoid the known
# bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
MacOS X 上で Aqua 版の Tcl/Tk を用いた......ang.org>
#
# * lib/rexml/encoding.rb (encoding=): give priority to particular
# conversion to iconv. [ruby-core:06520]
日本語のエンコーディング変換にiconvよりもnkfを優先して使用するようにし
ました。((<ruby-list:41325>)), ((<ruby-core:06520>)... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (85.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への変更点(まとめ)/サポートプラットフォームの追加>))
...れ本体が必ず最初に実行されるという振
るまい(C の do ... while 構文と同じ)をしていませんでした。
((<ruby-list:34618>))
: ((<"rescue/ensure on class/module"|クラス/メソッドの定義/クラス定義>)) [compat]
メソッド定義のほかにもク......ble#select
と同じメソッドが定義されました。
=== Math
: ((<Math/Math.erf>)) [new]
: ((<Math/Math.erfc>)) [new]
追加 ((<ruby-list:37753>))
: ((<Math/Math.acos>)) [new]
: ((<Math/Math.asin>)) [new]
: ((<Math/Math.atan>)) [new]
: ((<Math/Math.cosh>))......[new]
: ((<UNIXSocket#send_io|UNIXSocket/send_io>)) [new]
追加
: ((<UNIXServer#listen|UNIXServer/listen>)) [new]
: ((<TCPServer#listen|TCPServer/listen>)) [new]
追加。Socket#((<Socket/listen>))と同じ。
=== String
: ((<String#match|String/match>)) [new]
追加 r... -
ruby 1
. 8 . 3 feature (55.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...=== 2005-06-08
: ext/socket [lib] [compat]
拡張ライブラリ socket が AIX 上でコンパイルされるようになりました。((<ruby-list:40832>))
=== 2005-06-07
: Module#class_variable_get [ruby] [new]
: Module#class_variable_set [ruby] [new]
クラスメソッドから((<変......ctx, session_id=nil)
session_id を受け付けるようになりました。((<ruby-core:4663>))
=== 2005-05-19
: REXML::Encoding#decode_sjis [lib] [bug]
: REXML::Encoding#encode_sjis [lib] [bug]
decode_sjis と encode_sjis が
逆に定義されていたバグを修正しました。((<ruby......((<ruby-dev:26177>))
=== 2005-05-11
: break [ruby] [bug]
メソッドを越えて break が有効になるバグを修正しました。((<ruby-list:40818>))
$ cat brk.rb
def stop(n)
break if n == 2
end
(1..5).each do |i|
stop(i)
puts i
end... -
ruby 1
. 9 feature (43.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...(<ruby-dev:28636>))
: 丸めエラー修正 ((<ruby-core:07896>))
: divmod 修正 ((<ruby-dev:28589>))
: jcode の String#tr_s 修正 ((<ruby-list:42090>))
: Solaris 対応修正 ((<ruby-dev:28443>)), ((<ruby-dev:28440>))
: rubygems がある場合には ri で考慮するようになり......5-06-09
: ENV.[]= [change]
ENV[key] = nil で要素を削除する機能は失われ、TypeError になるようになりました。
((<ruby-list:40865>))
=== 2005-06-08
: Array#nitems [compat]
Array#nitems にブロックを渡せるようになり、ブロックが真になる要素の......ディングを変換するメソッドを公開。
valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。
=== 2005-02-02
: ((<ripper/Ripper.slice>)) [ruby] [experimental]
追加。((<U... -
pack テンプレート文字列 (31.0)
-
pack テンプレート文字列
...ロトコルなどに適切)
//emlist{
n: big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)
//emlist{
s!: signed short
S!: unsigned......stdint.h にある厳密な幅を持つ整数型に適切)
//emlist{
s: int16_t
S: uint16_t
l: int32_t
L: uint32_t
q: int64_t
Q: uint64_t
//}
: エンディアンの強制指定(バイナリ解析などに適切)
//emlist{
S>: big endian unsigned 16bit(nと同じ)
s>: big endian......emlist[][ruby]{
["abc"].pack("a") # => "a"
["abc"].pack("a*") # => "abc"
["abc"].pack("a4") # => "abc\x00"
"abc\0".unpack("a4") # => ["abc\x00"]
"abc ".unpack("a4") # => ["abc "]
//}
: A
ASCII文字列(スペースを詰める/後続するヌル文字やスペースを削除)
//emlist[]... -
ruby 1
. 8 . 2 feature (31.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...ライアントから送られてきた場合
例外を投げずに新しいセッションを作成するようになりました。
((<ruby-list:40368>))
=== 2004-12-09
: eval('Foo #@ bar'.inspect) [ruby] [bug]
シンタックスエラーにならないように修正しました。
((<ru......ようになりました。((<ruby-dev:24528>))
=== 2004-10-18
: WEBrick::HTTPRequest [lib] [new]
new methods. accept, accept_charset, accept_encoding, accept_language,
content_length and content_type.
: WEBrick::HTTPResponse#content_length= [lib] [new]
: WEBrick::HTTPResponse#content_type=......残さず削除するようになりました。
ファイル名に "~" が付いたバックアップファイルは残されません。((<ruby-list:39102>))
=== 2004-06-29
: misc
$SAFEが保存されない問題を修正しました。((<ruby-dev:23829>))
=== 2004-06-23
: net/imap [lib] [n... -
NEWS for Ruby 3
. 0 . 0 (25.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.
16378
//emlist{
def meth......o return `true` or `false`. 17371
//emlist{
0 => a
p a #=> 0
{b: 0, c: 1} => {b:}
p b #=> 0
//}
//emlist{
# version 3.0
0 in 1 #=> false
# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}
* Find-pattern is added. [EXPERIMENTAL]
16828
//emlist{
case ["a", 1, "b", "c", 2, "d", "e",......p x #=> "b"
p y #=> "c"
p post #=> [2, "d", "e", "f", 3]
end
//}
* Endless method definition is added. [EXPERIMENTAL]
16746
//emlist{
def square(x) = x * x
//}
* Interpolated String literals are no longer frozen when
`# frozen-string-literal: true` is used. 17104
* Magic...