DevelopersMeeting20160216Japan
Date: 2016/02/16 (Tue) 2pm JST
Members: hsbt, akr, mrkn, shyouhei, naruse, nobu, ko1, sorah, matz (skype)
Next meeting: 2016/03/16 14:00- JST
Chatting
- chkbuild repositoriy is transfered from akr’s to ruby’s.
- Ruby committers can commit to it.
- If ruby and chkbuild conflicts, committers can fix ruby or chkbuild.
- Matz does not want to include CoC in repository nor release tarball
- Based on PostgreSQL’s CoC v2
- Link on bugs.ruby-lang.org new account page and w.r-l.o ML list?
- Show CoC on Redmine account creation page
- Finally, Matz will post a link on the ticket #12004
- Q. Is the proposed CoC acceptable for people who wants CoC?
- matz: it is not acceptable for all people, some people wants banning
- Q. this CoC doesn’t have enforcement. Does the CoC (people think) require that?
- matz: I checked CoCs in other projects. I think it is not requirement.
- We may put contact in future
- A. It makes responsibility to us
- Applied area: (“collaborative space”)
GitHub: web https://github.com/ruby/www.ruby-lang.org/issues
[Feature #11666] IPAddr#private? (glass_saga)
- conflict with private visibility
- “private?” is different from visivility
- Behavior when address family is IPv6
- nil? false?
- or treat link-local, site-local (deprecated), unique-local as true?
- Naming differencies with Addrinfo
- The name “ipv4_private?” is clear that the method returns false on IPv6 addresses.
[Feature #12046] Allow attr_reader :foo? to define instance method foo? for accessing @foo (mrkn)
- matz: Still negative; I’m not good to have difference in ivar name and method name
- behavior issues:
- Explicitly returning true or false?
- Mrkn will make a new gem.
progress report: mmap managed heap (arena) (ko1)
Reported by ko1.
[Feature #11999] MatchData#to_h to get a Hash from named captures (sorah)
- #to_h is inappropriate name while non-named capture exists
- Return Hash with integer keys? ( {0 => "a", 1 => "b"} )
- #named_captures
- Behavior when there are multiple named captures with same name
- Return last matched value
- reg = /(?<a>b)|(?<a>x)/ # => /(?<a>b)|(?<a>x)/
reg.match("abc").to_h #=> {"a" => "b"}
- Behavior when named captures didn’t match anything
- Behavior when no named captures
- #captures return [] when no capture, so #named_captures returns {} when no named capture
[Bug #9810] Numeric#step behavior with mixed Float, String arguments inconsistent with documentation
This issue is because of invalid type, not mismatch the number of arguments.
Comparison String with Numeric should raise TypeError
matz: I once thought type mismatch also infringe the contract of arguments, therefore it can be ArgumentError but now they should be separated.
matz: It should raise TypeError.
Allow kwargs to return/next/break
$ ruby -e 'def foo;return :a=>1; end'
$ ruby -e 'def foo;return a: 1; end'
-e:1: syntax error, unexpected ':', expecting keyword_end
def foo;return a: 1; end
^
matz rejected it because return is not a method call. Matz wants to split kwargs versus trailing-hash-arg in a long term. He wants to distinguish them mentally. Rocket notation is not always related to kwargs while colon notation is tightly-connected, even though it is also used in hash literals. When it comes to a method, calling a method with keyword-argument does not always create hashes.
[Feature #10121] Dir.empty?
- `Dir.entries(dir).size == 2` is not efficient. Also not platform-agnostic.
- It is useful to write spec which checkes test files are crrectly cleaned.
- matz: accepted.
[Feature #12075] some container#nonempty?
- nobu: you can write `ary&.empty?.!`.
- mrkn: How about `ary.include_something?` ?
[Feature #12024] Add String.buffer, for creating strings with large capacities
akr: Once matz rejected String.new(size) proposed on #905, but now we have kwargs. given that there already is String.new with encoding argument, isn’t it OK to add kwargs to that method?
matz: accepted.
[Bug #11991] Symbol#match
[Feature #12043] NoMethodError#private_call?
bikeshed problem (naming issue).
- private_call?
- private_callable?
- were_you_private?
- funcall_style_call?
- …