Commit ff9b41cc authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #1654 from iij/pr-not-match-operator

add operator "!~".
parents a02eb4bd 83413218
...@@ -43,4 +43,9 @@ module Kernel ...@@ -43,4 +43,9 @@ module Kernel
yield yield
end end
end end
# 11.4.4 Step c)
def !~(y)
!(self =~ y)
end
end end
...@@ -479,6 +479,27 @@ assert('Kernel#!=') do ...@@ -479,6 +479,27 @@ assert('Kernel#!=') do
assert_false (str2 != str1) assert_false (str2 != str1)
end end
# operator "!~" is defined in ISO Ruby 11.4.4.
assert('Kernel#!~') do
x = "x"
def x.=~(other)
other == "x"
end
assert_false x !~ "x"
assert_true x !~ "z"
y = "y"
def y.=~(other)
other == "y"
end
def y.!~(other)
other == "not y"
end
assert_false y !~ "y"
assert_false y !~ "z"
assert_true y !~ "not y"
end
assert('Kernel#respond_to_missing?') do assert('Kernel#respond_to_missing?') do
class Test4RespondToMissing class Test4RespondToMissing
def respond_to_missing?(method_name, include_private = false) def respond_to_missing?(method_name, include_private = false)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment