diff options
| author | Daniel Bovensiepen <[email protected]> | 2016-02-12 03:32:41 +0800 |
|---|---|---|
| committer | Daniel Bovensiepen <[email protected]> | 2016-02-12 03:32:41 +0800 |
| commit | 46fbd5349b1d31065cf3bba03913850726d538f7 (patch) | |
| tree | abc2a66d094d78bd76fa19d886fec5cfb80069b0 /doc | |
| parent | 37344ecaadf601d74cd7b5c006cabf7005208830 (diff) | |
| download | mruby-46fbd5349b1d31065cf3bba03913850726d538f7.tar.gz mruby-46fbd5349b1d31065cf3bba03913850726d538f7.zip | |
Add more limitations:
- defined?
- alias on global variables
- Operator modification
- Kernel.binding missing
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/limitations.md | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/limitations.md b/doc/limitations.md index d5d89cbc7..83bedc8fb 100644 --- a/doc/limitations.md +++ b/doc/limitations.md @@ -141,3 +141,68 @@ true true true ``` + +## defined? + +The ```defined?``` keyword is considered to complex to be fully +implemented. It is recommended to use ```const_defined?``` and +other reflection methods instead. + +```ruby +defined?(Foo) +``` + +#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)] + +``` +nil +``` + +#### mruby [1.2.0 (2015-11-17)] + +```NameError``` is raised. + +## ```alias``` on global variables + +Aliasing a global variable works in CRuby but is not part +of the ISO standard. + +```ruby +alias $a $__a__ +``` + +#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)] + +```nil``` + +#### mruby [1.2.0 (2015-11-17)] + +Syntax error + +## Operator modification + +An operator can't be overwritten by the user. + +```ruby +class String + def + + end +end + +'a' + 'b' +``` + +#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)] + +```ArgumentError``` is raised. +The re-defined ```+``` operator does not accept any arguments. + +#### mruby [1.2.0 (2015-11-17)] + +```'ab'``` +Behavior of the operator wasn't changed. + +## ```Kernel.binding``` missing + +```Kernel.binding``` is not implemented as it is not in the +ISO standard. |
