1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-05 08:08:02 +00:00

Add the Limit Split til to the ruby directory.

This commit is contained in:
jbranchaud
2015-02-13 19:26:50 -06:00
parent 1674c03bb4
commit 2d12004407

37
ruby/limit-split.md Normal file
View File

@@ -0,0 +1,37 @@
# Limit Split
I've only ever used Ruby's
[`String#split`](http://ruby-doc.org//core-2.2.0/String.html#method-i-split)
with the delimiter argument (e.g. `"this string has spaces".split(" ")`).
This method has another argument that can be specified, the `limit`
argument. With `limit`, you can *limit* the number of times that the split
happens.
```ruby
"this string has many spaces".split(" ")
# => ["this", "string", "has", "many", "spaces"]
"this string has many spaces".split(" ", 3)
# => ["this", "string", "has many spaces"]
```
There are surely many use cases, but one that stands out (from [The Rails 4
Way](https://leanpub.com/tr4w)) is for splitting a name into *first* and
*last* names.
```ruby
"Josh Branchaud".split(" ", 2)
# => ["Josh", "Branchaud"]
"David Heinemeier Hansson".split(" ", 2)
# => ["David", "Heinemeier Hansson"]
```
This really simplifies the code that is needed to make the following example
work:
```ruby
def create_user(name)
user = User.new
user.first_name, user.last_name = name.split(" ", 2)
user.save
end
```