種類
- 文書 (53)
- インスタンスメソッド (36)
- 定数 (12)
- モジュール関数 (12)
- クラス (12)
クラス
- BasicObject (24)
- Data (6)
- MatchData (6)
- Object (12)
モジュール
- FileUtils (12)
キーワード
- Cipher (12)
-
NEWS for Ruby 3
. 0 . 0 (5) - ReFe (12)
- Ruby用語集 (12)
- captures (2)
- deconstruct (5)
-
deconstruct
_ keys (5) -
instance
_ eval (24) - mkdir (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 制御構造 (12)
検索結果
先頭5件
-
Object
:: DATA -> File (18215.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
...んでおくことができます。
DATA 定数はそのデータ部分にアクセスするための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり......ファイル ($0) を指します。
=== 例1
print DATA.gets # => 故人西辞黄鶴楼
print DATA.gets # => 烟花三月下揚州
print DATA.gets # => 孤帆遠影碧空尽
print DATA.gets # => 唯見長江天際流
DATA.gets # => nil
__END__
故人西辞黄......江天際流
=== 例2
sum = 0
DATA.each_line do |line|
sum += line.to_i
end
DATA.rewind
p DATA.gets # => "sum = 0¥n"
__END__
17
19
23
29
31
=== 例3
DATA.gets # => uninitialized constant DATA (NameError)
=== 例4
ファイル... -
Data
# deconstruct -> [object] (9036.0) -
self のメンバの値を配列で返します。
...。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct # => [10, "km"]
//}
このメソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Meas......')
puts "It is #{n} kilometers away"
# ...
end
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see d:spec/pattern_... -
Data
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (9036.0) -
self のメンバの名前と値の組を Hash で返します。
...self のメンバの名前と値の組を Hash で返します。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}
このメ......ソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
case distance
in amount:, unit: 'km' # 裏側で #deconstruct_keys を呼ぶ
puts "It is #{amount} kilometers away"
else
puts......の場合は全てのメンバを意味します。
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see d:spec/pattern_... -
ReFe (6006.0)
-
ReFe ReFeについては http://i.loveruby.net/ja/prog/refe.html をご覧ください。
...ReFe
ReFeについては
http://i.loveruby.net/ja/prog/refe.html
をご覧ください。
=== Gems版
Gemsをお使いの方は、以下のコマンドを実行する事でインストールできます。
(41478)
$ gem install refe2
以下のコマンドでデータベースを構築しま......索ツール ReFe のデータ構築について
最新 Ruby リファレンスマニュアル用に ReFe のデータを構築するには以下の
手順で行います。(詳細は ReFe の README を参照してください)
(1) http://i.loveruby.net/ja/prog/refe.html から ReFe の基本セ......(3) 取得した man-rd-ja.tar.gz を展開し、ReFeデータベースを構築します。
/usr/local/share/refe は適宜環境に応じて変更してください(変更した場合は
refe を実行するのに環境変数 REFE_DATA_DIR を設定する必要があります)
g... -
MatchData
# captures -> [String] (3006.0) -
$1, $2, ... を格納した配列を返します。
...$1, $2, ... を格納した配列を返します。
MatchData#to_a と異なり $& を要素に含みません。
グループにマッチした部分文字列がなければ対応する要素は nil になります。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["......foobar", "foo", "bar", nil]
p $~.captures # => ["foo", "bar", nil]
//}
@see MatchData#to_a, MatchData#named_captures, d:spec/pattern_matching#matching_non_primitive_objects... -
MatchData
# deconstruct -> [String] (3006.0) -
$1, $2, ... を格納した配列を返します。
...$1, $2, ... を格納した配列を返します。
MatchData#to_a と異なり $& を要素に含みません。
グループにマッチした部分文字列がなければ対応する要素は nil になります。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["......foobar", "foo", "bar", nil]
p $~.captures # => ["foo", "bar", nil]
//}
@see MatchData#to_a, MatchData#named_captures, d:spec/pattern_matching#matching_non_primitive_objects... -
MatchData
# deconstruct _ keys(array _ of _ names) -> Hash (3006.0) -
引数で指定された名前の名前付きキャプチャを Hash で返します。
引数で指定された名前の名前付きキャプチャを Hash で返します。
Hash のキーは名前付きキャプチャの名前のシンボル、値はキーの名前に対応した名前付きグループのうち最後にマッチした文字列です。
@param array_of_names 名前付きキャプチャの名前の配列を指定します。nil の場合は全ての名前付きキャプチャを意味します。
//emlist[例][ruby]{
m = /(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})/.match("18:37:22")
m.deconstruct_keys([:hours, :m... -
Ruby用語集 (420.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...し、合わせてドキュメントの HTML を生成する。
参照:rdoc
: refinement
既存のクラスやモジュールを特定のスコープでのみ改変する仕組み。
参照:Module#refine、Module#using、main.using
: Ruby Central
Rubyのサポートと世界の Ruby......むやみに改変することは思わぬバグを
生みやすい。
そのため、改変の効果を局所化する refinement という機構がある。
→ refinement
: オペランド
: operand
演算子式において演算の対象となる式。式 a + b * c において、+ の......ースト
: test-first programming
テスト駆動開発において、まず最初にテストコードを記述すること。
: データ型
: data type
一般には「データがどのようなものであるか」というデータの種類をいう。
プログラミング言語によ... -
制御構造 (276.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...左辺の式が begin 節である場合にはそれを最初に一回評価してから繰り返します。
//emlist[例][ruby]{
send_request(data)
begin
res = get_response()
end while res == 'Continue'
//}
while 修飾した式は nil を返します。
また、引数を伴った break に......左辺の式が begin 節である場合にはそれを最初に一回評価してから繰り返します。
//emlist[例][ruby]{
send_request(data)
begin
res = get_response()
end until res == 'OK'
//}
until 修飾した式は nil を返します。
また、引数を伴った break により... -
メソッド呼び出し(super・ブロック付き・yield) (150.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...ブロック記法において | と | の間にはさまれた
変数(ブロックパラメータ)に代入されます。
例:
yield data
文法:
yield `(' [式 [`,' 式 ... ]] `)'
yield [式 [`,' 式 ... ]]
引数をブロックパラメータとして渡して... -
OpenSSL
:: Cipher (78.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
...#references などで調べてください。
AES を用いる場合、通常は CBC を用いれば良いでしょう。
選択肢によっては安全性に問題があるので気をつけてください。
=== 使用例
require 'openssl'
# 暗号化するデータ
data = "*secret data......pted_data = ""
encrypted_data << enc.update(data)
encrypted_data << enc.final
p encrypted_data
# 復号化器を作成する
dec = OpenSSL::Cipher.new("AES-256-CBC")
dec.decrypt
# 鍵とIVを設定する
dec.key = key
dec.iv = iv
# 復号化する
decrypted_data = "......"
decrypted_data << dec.update(encrypted_data)
decrypted_data << dec.final
p decrypted_data... -
NEWS for Ruby 3
. 0 . 0 (66.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...`# frozen-string-literal: true` is used. 17104
* Magic comment `shareable_constant_value` added to freeze constants.
See {Magic Comments}[rdoc-ref:doc/syntax/comments.rdoc@Magic+Comments] for more details.
17273
* A {static analysis}[rdoc-label:label-Static+analysis] foundation is
in......*
* Can be sliced with Enumerator::ArithmeticSequence
//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).step(2)] # take each second element
# => ["data1", "data2", "data3"]
//}
* Binding
* Binding#eval when called with one argument will use `"(......r hooks in a non-blocking context. 16786
* Ractor
* New class added to enable parallel execution. See rdoc-ref:ractor.md for more details.
* Random
* `Random::DEFAULT` now refers to the `Random` class instead of being a `Random` instance, so it can work with `Ractor`. 17322
* `Random... -
BasicObject
# instance _ eval {|obj| . . . } -> object (18.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...スタックトレースの表示などを差し替えることができます。
//emlist[例][ruby]{
class Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end
some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fu...