別のキーワード
種類
- 文書 (94)
- ライブラリ (24)
- インスタンスメソッド (12)
ライブラリ
- optparse (12)
クラス
- OptionParser (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Marshal フォーマット (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 1 . 0 (4) - Ruby用語集 (12)
- irb (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) - yaml (12)
検索結果
先頭5件
-
OptionParser
# load(filename = nil) -> bool (18119.0) -
指定された filename を読み込んで各行をまとめたものに対して OptionParser#parse を行ないます。
...]{
require "optparse"
IO.write("options.txt", %w(-a --b).join("\n"))
options = { a: false, b: false }
OptionParser.new do |opt|
opt.on('-a') { |v| options[:a] = v }
opt.on('--b') {|v| options[:b] = v }
opt.load("options.txt") # => true
opt.load("not_exist.txt") # => false
end
p options #... -
Ruby用語集 (336.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based......参照:Symbol
: シンボル配列
要素がシンボル(Symbol オブジェクト)だけからなる配列。
配列式としては % 記法で書くこともできる。
参照:d:spec/literal#percent
: 数値オブジェクト
Numeric クラスのサブクラスのインス......Ruby 2.7 以降では case/in の As パターンでも使う。
参照:d:spec/literal#hash
: ロードパス
スクリプトを require、load などで読み込む(ロードする)とき、
ファイルの位置を絶対パスで与えなくても、ファイル名(拡張子は略... -
ruby 1
. 6 feature (204.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6.7 (2002-07-30) [i586-linux]
: 2002-06-03 sprintf()
"%d" で引数を整数にするときに、((<組み込み関数/Integer>)) と同じ規則を
使用するようになりました。
p sprintf("%d", nil)
=> -:1:in `sprintf': no implicit conversion from nil......XIT")
END{
puts "exit"
}
Thread.start { Thread.stop }
sleep
: 2002-04-17: Regexp#inspect
((<ruby-bugs-ja:PR#222>))
p %r{\/}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
/\\//
=> ruby 1.6.7 (2002-05-04) [i586-linux]
/\//
: 2002-04-15: pack('U')......l
nil
nil
nil
: 2002-03-14 拡張ライブラリの autoload
拡張ライブラリに対して autoload が効いていませんでした。((<ruby-dev:16379>))
autoload :Fcntl, "fcntl"
require "fcntl"
=> -:2:in `require': uninitialized constant Fcn... -
Marshal フォーマット (90.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...n = (0xffffff00 | n1) &
(0xffff00ff | n2 * 0x100) &
(0xff00ffff | n3 * 0x10000) &
(0x00ffffff | n4 * 0x1000000)
# p "%x" % n
n = -((n ^ 0xffff_ffff) + 1) if len < 0
n
end
p Marshal.dump(-125).unpack("x2 acC*") # => ["i", -1, 131]
p foo(-1, 131)......ump(Foo.new).unpack("x2 a a c a*")
# => ["o", ":", 8, "Foo\x00"]
//}
=== 'u'
_dump、_load を定義していれば 'u' になります。
インスタンス変数は dump されなくなるので、_dump/_load で対応する必要があります。
//emlist{
| 'u' | クラス名(Symbol)の dump......mlist[][ruby]{
# coding: ascii-8bit
class Foo
def self._load
end
def _dump(obj)
"hogehoge"
end
end
p Marshal.dump(Foo.new).unpack("x2 a aca3 c a*")
# => ["u", ":", 8, "Foo", 13, "hogehoge"]
//}
=== 'U'
marshal_dump、marshal_load を定義していれば 'U' になります。
イン... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (72.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への変更点(まとめ)/サポートプラットフォームの追加>))
...ue|LocalJumpError/exit_value>)) [new]
: ((<LocalJumpError#reason|LocalJumpError/reason>)) [new]
追加
=== Marshal
: ((<Marshal/Object#marshal_load>)) [new]
: ((<Marshal/Object#marshal_dump>)) [new]
追加 ((<ruby-dev:21016>))
=== MatchData
: ((<MatchData#captures|MatchData/captures>)) [......=== Module
: ((<組み込み関数/autoload>)) [change]
: ((<組み込み関数/autoload?>)) [new]
: ((<Module#autoload|Module/autoload>)) [new]
: ((<Module#autoload?|Module/autoload>)) [new]
ネストしたクラス/モジュールに対する autoload 指定が可能になりました。......:14172>))
== 拡張されたクラス/メソッド(互換性のある変更)
=== 組み込み関数
: ((<組み込み関数/sprintf>)) [new]
"%p" が追加されました。inspect の結果が利用されます。((<RCR#69>))
: ((<組み込み関数/trap>)) [compat]
あるシグナル... -
yaml (72.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
...e" => 35,
"birthday" => Date.new(1970, 1, 1)
}
str_r["Suzuki Suneo"] = {
"age" => 13,
"birthday" => Date.new(1992, 12, 21)
}
p str_r == YAML.load(str_l) # => true
//}
//emlist[例3: 構造化されたログ][ruby]{
require 'yaml'
require 'stringio'
strio_r = StringIO.new(<<~YAML_EOT)
---......target: YAML
version: 3
log: |
アブストラクトを書いた。
YAML_EOT
YAML.load_stream(strio_r).sort_by{ |a| a["version"] }.each do |obj|
puts "version %d\ntime %s\ntarget:%s\n%s\n" % obj.values_at("version", "time", "target", "log")
end
# =>
# version 3
# time 2008-02-24 17......うにタグを指定することで、読み込み時に記述した値
の型を指定できます。
//emlist[例][ruby]{
require 'yaml'
p YAML.load(<<~EOS)
---
!ruby/sym :foo
EOS
# => :foo
//}
yaml では、Ruby 向けに以下のローカルタグを扱えます。
* !ruby/array: Array... -
irb (66.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...se
IRB.conf[:PROMPT] = {....}
IRB.conf[:PROMPT_MODE] = :DEFAULT
IRB.conf[:SINGLE_IRB] = false
IRB.conf[:SAVE_HISTORY] = nil
IRB.conf[:USE_LOADER] = true
IRB.conf[:USE_READLINE] = nil
IRB.conf[:USE_TRACER] = true
IRB.conf[:VERBOSE] = true
それぞれの設定値の詳細について......# 文字列などの継続行のプロンプト
:PROMPT_C => nil, # 式が継続している時のプロンプト
:RETURN => " ==>%s\n" # メソッドから戻る時のプロンプト
}
いま作成した新しいプロンプトモードを使うには、
以下のように......printf のように
「%」を用いた記法が使えます。
フォーマット文字列で使用可能な記法は以下の通りです。
: %N
起動しているコマンド名(IRB::Context#irb_name)
: %m
main オブジェクト (self) を to_s した文字列
: %M
main オブジ......il
IRB.conf[:PROMPT] = {....}
IRB.conf[:PROMPT_MODE] = :DEFAULT
IRB.conf[:SINGLE_IRB] = false
IRB.conf[:SAVE_HISTORY] = nil
IRB.conf[:USE_LOADER] = true
IRB.conf[:USE_READLINE] = nil
IRB.conf[:USE_TRACER] = true
IRB.conf[:VERBOSE] = true
それぞれの設定値の詳細について......l
IRB.conf[:PROMPT] = {....}
IRB.conf[:PROMPT_MODE] = :DEFAULT
IRB.conf[:SINGLE_IRB] = false
IRB.conf[:SAVE_HISTORY] = 1000
IRB.conf[:USE_LOADER] = true
IRB.conf[:USE_READLINE] = nil
IRB.conf[:USE_TRACER] = true
IRB.conf[:VERBOSE] = true
それぞれの設定値の詳細について... -
NEWS for Ruby 3
. 1 . 0 (42.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* Kernel#load が第2引数にモジュールを渡せるようになり、渡されたモジュールをトップレベルのモジュールとしてファイルを読み込むようになりました。 6210
* Marshal
* 変更されたメソッド
* Marshal.load が freeze: tru......。 -0000 を \%-z としてサポートします。 17544
* TracePoint
* 新規メソッド
* TracePoint のコールバック中に再入を許す TracePoint.allow_reentry が追加されました。 15912
* $LOAD_PATH
* 変更されたメソッド
* $LOAD_PATH.resolve_fe......が端末サイズに応じて自動的に変更されることを意味します。 12913
* Psych 4.0では、デフォルトで Psych.load が Psych.safe_load に変更されました。この動作に移行するにはPsych 3.3.2を使用する必要があるかもしれません。 17866
== C... -
NEWS for Ruby 2
. 7 . 0 (36.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
....produce(Date.today, &:succ) #=> infinite sequence of dates
dates.detect(&:tuesday?) #=> next Tuesday
//}
//emlist[Enumerator::Lazy#eager][ruby]{
a = %w(foo bar baz)
e = a.lazy.map {|x| x.upcase }.map {|x| x + "!" }.eager
p e.class #=> Enumerator
p e.map {|x| x + "?" } #=> ["FOO!?", "......で全ての引数を転送する時に使えます。 16154
* 変更されたメソッド
* Module#const_defined?のようにModule#autoload?が
inheritオプショナル引数を受け付けるようになりました。 15777
* Module#nameが常にfreezeされた文字列......ge#include?から変更されていました。)
15449
* RubyVM
* 削除されたメソッド
* RubyVM.resolve_feature_pathが$LOAD_PATH.resolve_feature_pathに移動しました。
15903 15230
* String
* Unicode
* Unicodeのバージョンと絵文字のバ... -
ruby 1
. 9 feature (30.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...slice(integer) が 1文字の String を返すようになりました
: ?c が 1文字の String を返すようになりました
: sprintf の %c が 1文字の String を受け付けるようになりました
: String#[]= が右辺の整数を受け付けなくなりました
: String#c......ブロックを渡せるようになり、ブロックが真になる要素の個数を返すように
なりました。
[1,2,3].nitems{|i| i % 2 != 0} #=> 2
((<ruby-talk:134083>))
=== 2005-06-02
: proc [ruby][parser][experimental]
以前のローカル変数に括弧を付けると c......c02>))
=== 2004-10-20
: Proc#dup [new]
追加 ((<ruby-talk:116915>))
: require [change]
feature が $" に追加されるタイミングが load された後に変わりました。
((<ruby-list:40085>))
=== 2004-10-05
: Array#index {|x| ... } [new]
: Array#rindex {|x| ... } [new]...