るりまサーチ

最速Rubyリファレンスマニュアル検索!
188件ヒット [1-100件を表示] (0.037秒)

別のキーワード

  1. _builtin eval
  2. kernel eval
  3. module class_eval
  4. module module_eval
  5. _builtin class_eval

検索結果

<< 1 2 > >>

TracePoint#eval_script -> String | nil (6125.0)

script_compiledイベント発生時にコンパイルされたソースコードを返します。 ファイルから読み込んだ場合は、nilを返します。

...読み込んだ場合は、nilを返します。

//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.eval_script # => "puts 'hello'"
end.enable do
eval
("puts 'hello'")
end
//}

@raise RuntimeError :script_compiled イベントのための
イベントフック...

ruby 1.8.4 feature (162.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...ns invalid symbol representations:

puts
:"!".inspect
puts
:"=".inspect
puts
:"0".inspect
puts
:"$1".inspect
puts
:"@1".inspect
puts
:"@@1".inspect
puts
:"@".inspect
puts
:"@@".inspect

# => r...
..."
:"@"
:"@@"

3) Symbol#inspect sometimes returns suboptimal symbol representations:
puts
:foo!.inspect
puts
:bar?.inspect

# => ruby 1.8.3 (2005-09-21) [i686-linux]
:"foo!"
:"bar?"...
...1.8.4 (2005-12-22) [i686-linux]
:foo!
:bar?

4) :$- always treats next character literally:

p eval(":$-\n") # => :"$-\n"
p :$-( # => :"$-("
p :$- # => :"$- "
p :$-#.object_id # => 3950350

# => ru...

クラス/メソッドの定義 (124.0)

クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined

...の定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined

===[a:class] ク...
...結果
として他の言語における「関数」のように使えます。

//emlist[例][ruby]{
def hello # 引数のないメソッド。
puts
"Hello, world!"
end

def foo(a, b) # 引数のあるメソッド。括弧を省いてdef foo a, bとも
a + 3 * b
end
//}

メソッド名...
...t[例][ruby]{
def foo(x, *xs)
puts
"#{x} : #{xs.inspect}" # Object#inspect は p のような詳細な内部表示
end
foo(1) #=> 1 : []
foo(1, 2) #=> 1 : [2]
foo(1, 2, 3) #=> 1 : [2, 3]

def bar(x, *) # 残りの引数を単に無視したいとき
puts
"#{x}"
end
bar(1) #=...

ruby 1.6 feature (114.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...シグナルを送らないと終了しない不具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))

trap(:TERM, "EXIT")

END{
puts
"exit"
}

Thread.start { Thread.stop }
sleep

: 2002-04-17: Regexp#inspect

((<ruby-bugs-ja:PR#222>))

p %r{\/}

=> ruby 1...
...が定義されていない場合例外 NameError を起こ
すようになりました。((<ruby-bugs-ja:PR#216>))

Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil

=> -:2:in `remove_ins...
...ule_eval>))

((<Module/module_eval>)) のブロック内で定数やクラス変数のスコープが
変わることはなくなりました。((<ruby-dev:17876>))

class Foo
FOO = 1
@@foo = 1
end

FOO = 2
@@foo = 2

Foo.module_eval {...

Object#respond_to?(name, include_all = false) -> bool (48.0)

オブジェクトがメソッド name を持つとき真を返します。

...D.new]

list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour

list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
# Guten Tag

module Template
def main
start
template_method
finish
end

def start
puts
"start"
end

def...
...mentedError.new
end

def finish
puts
"finish"
end
end

class ImplTemplateMethod
include Template
def template_method
"implement template_method"
end
end

class NotImplTemplateMethod
include Template

# not implement template_method
end

puts
ImplTemplateMethod.new.respond_to?...
...r が発生しているが、Rubyによる実装部のため true を返す
puts
NotImplTemplateMethod.new.respond_to?(:template_method) # => true
# GNU/Linux で実行。C言語による実装部のため false を返す
puts
File.respond_to?(:lchmod) # => false
//}

@see Module#method_defi...

絞り込み条件を変える

パターンマッチ (48.0)

パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples

...r:} # ネストしてハッシュにマッチして、その値を変数userに代入する
puts
"Connect with user '#{user}'"
in connection: {username: }
puts
"Connect with user '#{username}'"
else
puts
"Unrecognized structure of config"
end
# "Connect with user 'admin'" と出力
//}

一方...
...n', password: 'abc123'}}

config in {db: {user:}} # もし config の構造が期待したものでなかった場合には、例外が発生する

puts
"Connect with user '#{user}'"
# Connect with user 'admin'" と出力
//}

『<expression> in <pattern>』 は 『<expression>; in <pattern>; true;...
...ons of Ruby!
//}

この警告を抑制したければ、Warning::[]= メソッドが利用できます。

//emlist{
Warning[:experimental] = false
eval
('{a: 1, b: 2} in {a:}')
# ...警告は出力されない...
//}

パターンマッチの警告はコンパイル時に発生するため、以下...
...n', password: 'abc123'}}

config => {db: {user:}} # もし config の構造が期待したものでなかった場合には、例外が発生する

puts
"Connect with user '#{user}'"
# Connect with user 'admin'" と出力
//}

『<expression> in <pattern>』 は 『<expression>; in <pattern>; true;...
...sions of Ruby!
}

この警告を抑制したければ、Warning::[]= メソッドが利用できます。

//emlist{
Warning[:experimental] = false
eval
('[0] => [*, 0, *]')
# ...警告は出力されない...
//}

パターンマッチの警告はコンパイル時に発生するため、以下の...
...ons of Ruby!
//}

この警告を抑制したければ、Warning::[]= メソッドが利用できます。

//emlist{
Warning[:experimental] = false
eval
('[0] => [*, 0, *]')
# ...警告は出力されない...
//}

パターンマッチの警告はコンパイル時に発生するため、以下の...

drb (36.0)

分散オブジェクトプログラミングのためのライブラリです。

...ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end
ro.instance_eval("DANGEROUS RUBY CODE!")

このような instance_eval による危険性は $SAFE を 1
以上にする...
...ブジェクト以外の
# リモートオブジェクトのメソッドを呼び出す時には必要
DRb.start_service
# リモートオブジェクトの取得
timeserver = DRbObject.new_with_uri(SERVER_URI)
# リモートメソッドの呼び出し
puts
timeserver.get_current_time...
...ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end
ro.instance_eval("DANGEROUS RUBY CODE!")

このような instance_eval による危険性は $SAFE を 1
にすること...

NEWS for Ruby 2.7.0 (30.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...しでProc.newやKernel#procを
呼び出すと警告が表示されるようになりました。

//emlist[][ruby]{
def foo
proc
end
foo { puts "Hello" } #=> warning: Capturing the given block using Kernel#proc is deprecated; use `&block` instead
//}

* 非推奨に関する警告を止め...
...nel#lambdaをブロックなしで呼び出すと
例外が発生するようになりました。

//emlist[][ruby]{
def bar
lambda
end
bar { puts "Hello" } #=> tried to create Proc object without a block (ArgumentError)
//}

==== その他の変更

* 始端なしRangeが実験的に導入...
...ブロックを受け付けるようになり、
Class.newやStruct.newのように返り値のクラスのコンテキストで
module_evalするようになりました。

* ERB
* ERBのインスタンスをMarshalできないようになりました。

* IRB
* Pry gem...

NEWS for Ruby 3.0.0 (30.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...sent and has
a non-empty value, and the standard input and output are tty, the `--help`
option shows the help message via the pager designated by the value.
16754

=== `--backtrace-limit` option

The `--backtrace-limit` option limits the maximum length of a backtrace.
8661

== Core classes updates...
...ep(2)] # take each second element
# => ["data1", "data2", "data3"]
//}

* Binding
* Binding#eval when called with one argument will use `"(eval)"` for `__FILE__` and `1` for `__LINE__` in the evaluated code. 4352 17419
* ConditionVariable
* ConditionVariable#wait may now invoke the `bloc...
...IO
* IO#nonblock? now defaults to `true`. 16786
* IO#wait_readable, IO#wait_writable, IO#read, IO#write and other related methods (e.g. IO#puts, IO#gets) may invoke the scheduler hook `#io_wait(io, events, timeout)` in a non-blocking execution context. 16786
* Kernel
* Kernel#clone wh...

Object#taint -> self (30.0)

このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。

...さい。

//emlist[][ruby]{
$SAFE = 1

some = "puts '@&%&(#!'"
p some.tainted? #=> false
eval
(some) #=> @&%&(#!

some.taint
p some.tainted? #=> true
eval
(some) # Insecure operation - eval (SecurityError)

some.untaint
p some.tainted? #=> false
eval
(some) #=> @&%&(#!

p ENV['OS'].tainted? #=> true
/...

絞り込み条件を変える

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (30.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...efine_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
end
end
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジェ...
...ストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts
"bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}

proc の呼び出しで...
...いでしょう。

//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts
"baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...
<< 1 2 > >>