require 'test/unit' class TestDefined < Test::Unit::TestCase class Foo def foo p :foo end protected :foo def bar(f) yield(defined?(self.foo)) yield(defined?(f.foo)) end end def defined_test return !defined?(yield) end def test_defined $x = nil assert(defined?($x)) # global variable assert_equal('global-variable', defined?($x))# returns description assert_nil(defined?(foo)) # undefined foo=5 assert(defined?(foo)) # local variable assert(defined?(Array)) # constant assert(defined?(::Array)) # toplevel constant assert(defined?(File::Constants)) # nested constant assert(defined?(Object.new)) # method assert(!defined?(Object.print)) # private method assert(defined?(1 == 2)) # operator expression f = Foo.new assert_nil(defined?(f.foo)) f.bar(f) { |v| assert(v) } assert(defined_test) # not iterator assert(!defined_test{}) # called as iterator end end ion> The Ruby Programming Language
summaryrefslogtreecommitdiff
path: root/doc/irb
AgeCommit message (Expand)Author
2023-08-29[ruby/irb] Remove unused `PROMPT_N`Summer ☀️
2021-09-27[ruby/irb] Add doc about "echo on assignment"aycabta
2021-08-30Add --autocomplete / --noautocomplete optionsaycabta
2021-07-02Fix default prompt mode in doc/irb/irb.rd.jaKazuhiro NISHIYAMA
2021-04-25[Doc] Fix a typo s/evel/eval/wonda-tea-coffee
2019-11-21Use singleline/multiline instead of readline/reidlineaycabta
2019-07-15doc/irb/irb.rd.ja: Update options from `irb -h` [ci skip]Kazuhiro NISHIYAMA
2019-05-21Add --colorize and --nocolorize options to IRBaycabta
2019-04-30Use Ripper for IRBaycabta
2019-04-23Revert "IRB is improved with Reline and RDoc, take 2"Nobuyoshi Nakada
2019-04-23IRB is improved with Reline and RDoc, take 2aycabta
2019-04-21Revert "IRB is improved with Reline and RDoc"aycabta
2019-04-20IRB is improved with Reline and RDocaycabta
2017-04-20Removed math mode from irb.hsbt