1637件ヒット
[1-100件を表示]
(0.040秒)
別のキーワード
ライブラリ
- English (12)
- ビルトイン (887)
-
irb
/ inspector (12) - json (24)
- logger (24)
-
net
/ imap (24) - open-uri (24)
- openssl (168)
- prettyprint (12)
- pty (12)
- rake (12)
- readline (12)
- shell (6)
-
shell
/ command-processor (84) -
shell
/ process-controller (6) -
syslog
/ logger (12) - tracer (48)
-
webrick
/ httpauth (12) -
webrick
/ httpauth / basicauth (12) -
webrick
/ httpproxy (12) -
webrick
/ httpserver (24)
クラス
- Enumerator (31)
-
Enumerator
:: Yielder (6) - Hash (93)
-
IRB
:: Inspector (12) - Logger (24)
- Method (12)
-
Net
:: IMAP (24) -
OpenSSL
:: SSL :: SSLContext (144) -
OpenSSL
:: X509 :: Store (24) - PrettyPrint (12)
- Proc (141)
-
Process
:: Status (36) -
RubyVM
:: InstructionSequence (24) - Shell (6)
-
Shell
:: CommandProcessor (84) -
Shell
:: ProcessController (6) - String (36)
-
Syslog
:: Logger (12) - Thread (24)
- TracePoint (7)
- Tracer (48)
- UnboundMethod (12)
-
WEBrick
:: HTTPProxyServer (12) -
WEBrick
:: HTTPServer (24)
モジュール
- Enumerable (48)
- JSON (24)
- Kernel (157)
- Marshal (24)
- ObjectSpace (24)
- OpenURI (24)
- PTY (12)
- Process (164)
-
Rake
:: TaskManager (12) - Readline (12)
- Signal (24)
-
WEBrick
:: HTTPAuth (12)
キーワード
-
$ ? (12) -
$ CHILD _ STATUS (12) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (7)
- === (12)
- >> (7)
- BasicAuth (12)
-
CLOCK
_ MONOTONIC (12) -
CLOCK
_ PROCESS _ CPUTIME _ ID (12) -
CLOCK
_ REALTIME (12) - Marshal フォーマット (12)
- Method (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Ruby プログラムの実行 (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Ruby用語集 (12)
- Status (12)
- [] (30)
-
add
_ filter (24) -
add
_ response _ handler (24) -
add
_ trace _ func (12) - append (6)
- arity (12)
-
at
_ exit (12) -
basic
_ auth (12) - call (12)
- cat (6)
- check (12)
-
client
_ cert _ cb (12) -
client
_ cert _ cb= (12) -
clock
_ gettime (12) -
completion
_ proc= (12) -
create
_ rule (12) - curry (24)
-
def
_ inspector (12) - default (24)
-
default
_ proc (12) -
default
_ proc= (12) -
define
_ finalizer (24) - detect (24)
- disasm (12)
- disassemble (12)
-
each
_ active _ object (6) - echo (6)
- encode (36)
- exec (12)
- exitstatus (12)
- find (24)
- foreach (6)
- fork (24)
- format (12)
- formatter (24)
- formatter= (12)
- getrlimit (12)
- glob (6)
- irb (12)
- lambda (18)
- lambda? (12)
-
last
_ status (8) - load (24)
- logger (12)
-
mount
_ proc (24) - new (74)
- open (6)
-
open
_ uri (24) - out (6)
- parameters (7)
- pp (12)
- proc (19)
-
renegotiation
_ cb (12) -
renegotiation
_ cb= (12) - restore (24)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 9 feature (12) -
servername
_ cb (12) -
servername
_ cb= (12) -
session
_ get _ cb (12) -
session
_ new _ cb (12) -
session
_ remove _ cb (12) -
set
_ get _ line _ procs (24) -
set
_ trace _ func (24) - shift (9)
- size (18)
- size? (6)
-
source
_ location (36) - stopsig (12)
- system (6)
- tee (6)
- termsig (12)
- test (6)
-
tmp
_ dh _ callback (12) -
tmp
_ dh _ callback= (12) -
to
_ proc (6) -
trace
_ var (36) - transact (6)
- trap (48)
-
undef
_ system _ command (6) -
untrace
_ var (12) -
verify
_ callback (24) -
verify
_ callback= (12) - wait (12)
- wait2 (12)
- waitall (12)
- waitpid (12)
- waitpid2 (12)
- yield (12)
- クラス/メソッドの定義 (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 手続きオブジェクトの挙動の詳細 (12)
検索結果
先頭5件
-
Proc (38222.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
...手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープ......[ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo # => 2
//}
===[a:should_use_next] 手続きを中断して値を返す
手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call)
へジャン......と(メソッドのように)エラーになります。
Proc.new は引数を多重代入に近い扱い方をします。
//emlist[Proc.new は引数の数が違っていてもエラーにならない][ruby]{
b = Proc.new{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> 2
4
nil
//}
//emlist[lamb... -
Proc
# <<(callable) -> Proc (21195.0) -
self と引数を合成した Proc を返します。
...成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。
Proc#>> とは呼......び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }
# (3 + 3) * (3 + 3)
p (f << g).call(3) # => 36
//}
//emlist[call を定義した......WordScanner
def self.call(str)
str.scan(/\w+/)
end
end
File.write('testfile', <<~TEXT)
Hello, World!
Hello, Ruby!
TEXT
pipeline = proc { |data| puts "word count: #{data.size}" } << WordScanner << File.method(:read)
pipeline.call('testfile') # => word count: 4
//}
@see Method#<<, Metho... -
Proc
# >>(callable) -> Proc (21195.0) -
self と引数を合成した Proc を返します。
...成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。
Proc#<< とは呼......び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }
# (3 * 3) + (3 * 3)
p (f >> g).call(3) # => 18
//}
//emlist[call を定義した......WordScanner
def self.call(str)
str.scan(/\w+/)
end
end
File.write('testfile', <<~TEXT)
Hello, World!
Hello, Ruby!
TEXT
pipeline = proc { |fname| File.read(fname) } >> WordScanner >> method(:p)
pipeline.call('testfile') # => ["Hello", "World", "Hello", "Ruby"]
//}
@see Method#<<, Metho... -
Proc
# curry -> Proc (21184.0) -
Procをカリー化します
...Procをカリー化します
カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します......たProcオブジェクトを返します
//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1
b = proc {|x,......y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1)[1] #=> 1
b = lambda {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3]... -
Proc
# curry(arity) -> Proc (21184.0) -
Procをカリー化します
...Procをカリー化します
カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します......たProcオブジェクトを返します
//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1
b = proc {|x,......y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1)[1] #=> 1
b = lambda {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3]... -
Proc
# lambda? -> bool (21174.0) -
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
...list[例][ruby]{
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
proc{}.lambda? # => false
# Proc.new で生成した Proc オブジェクトでは false
Proc.new{}.lambda? # => false
# 以下、lam......bda?が偽である場合
# 余分な引数を無視する
proc{|a,b| [a,b]}.call(1,2,3) # => [1,2]
# 足りない引数には nil が渡される
proc{|a,b| [a,b]}.call(1) # => [1, nil]
# 配列1つだと展開される
proc{|a,b| [a,b]}.call([1,2]) # => [1,2]
# lambdaの場合これらはすべて......生成される Proc は lambda? が偽となる
def n(&b) b.lambda? end
n {} # => false
# &が付いた実引数によるものは、lambda?が元の Procオブジェクトから
# 引き継がれる
lambda(&lambda {}).lambda? #=> true
proc(&lambda {}).lambda? #=> true
Proc.new(&lambda {}).l... -
Proc
. new -> Proc (21168.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
...OSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、こ......を行ったときに発生します。
//emlist[例][ruby]{
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
//}
これは以下と同じです。
//emlist[例][ruby]{
def foo
yield(1)
end
foo {|arg| p arg }
# => 1
//}
呼び出し元のメソッドがブロックを伴わ......entError が発生します。
//emlist[例][ruby]{
def foo
Proc.new
end
foo
# => -:2:in `new': tried to create Proc object without a block (ArgumentError)
# from -:2:in `foo'
# from -:4:in `<main>'
//}
Proc.new は、Proc#initialize が定義されていれば
オブジェクト... -
Proc
. new { . . . } -> Proc (21168.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
...OSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、こ......を行ったときに発生します。
//emlist[例][ruby]{
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
//}
これは以下と同じです。
//emlist[例][ruby]{
def foo
yield(1)
end
foo {|arg| p arg }
# => 1
//}
呼び出し元のメソッドがブロックを伴わ......entError が発生します。
//emlist[例][ruby]{
def foo
Proc.new
end
foo
# => -:2:in `new': tried to create Proc object without a block (ArgumentError)
# from -:2:in `foo'
# from -:4:in `<main>'
//}
Proc.new は、Proc#initialize が定義されていれば
オブジェクト......行ったときに発生します。
//emlist[][ruby]{
pr = Proc.new {|arg| p arg }
pr.call(1) # => 1
//}
//emlist[][ruby]{
Proc.new # => -e:1:in `new': tried to create Proc object without a block (ArgumentError)
//}
Proc.new は、Proc#initialize が定義されていれば
オブジェクトの......初期化のためにこれを呼び出します。このことを
除けば、Kernel.#proc と同じです。... -
Proc
# source _ location -> [String , Integer] | nil (21125.0) -
ソースコードのファイル名と行番号を配列で返します。
...mlist[例][ruby]{
# /path/to/target.rb を実行
proc {}.source_location # => ["/path/to/target.rb", 1]
proc {}.source_location # => ["/path/to/target.rb", 2]
(eval "proc {}").source_location # => ["(eval)", 1]
method(:p).to_proc.source_location # => nil
//}
@see Method#sour... -
Proc
# arity -> Integer (21040.0) -
Proc オブジェクトが受け付ける引数の数を返します。
...
Proc オブジェクトが受け付ける引数の数を返します。
ただし、可変長引数を受け付ける場合、負の整数
-(必要とされる引数の数 + 1)
を返します。
//emlist[例][ruby]{
lambda{ }.arity # => 0
lambda{|| }.arity # => 0
lambd......a{|x| }.arity # => 1
lambda{|*x| }.arity # => -1
lambda{|x, y| }.arity # => 2
lambda{|x, *y| }.arity # => -2
lambda{|(x, y)| }.arity # => 1
lambda{|(x, y), z|}.arity # => 2
//}...