Method: Array#join
- Defined in:
- array.c
#- ⇒ Object #join(separator = $,) ⇒ Object
Returns the new String formed by joining the array elements after conversion. For each element element
-
Uses
element.to_s
ifelement
is not akind_of?(Array)
. -
Uses recursive
element.join(separator)
ifelement
is akind_of?(Array)
.
With no argument, joins using the output field separator, $,
:
a = [:foo, 'bar', 2]
$, # => nil
a.join # => "foobar2"
With string argument separator
, joins using that separator:
a = [:foo, 'bar', 2]
a.join("\n") # => "foo\nbar\n2"
Joins recursively for nested Arrays:
a = [:foo, [:bar, [:baz, :bat]]]
a.join # => "foobarbazbat"
2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 |
# File 'array.c', line 2841
static VALUE
rb_ary_join_m(int argc, VALUE *argv, VALUE ary)
{
VALUE sep;
if (rb_check_arity(argc, 0, 1) == 0 || NIL_P(sep = argv[0])) {
sep = rb_output_fs;
if (!NIL_P(sep)) {
rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, "$, is set to non-nil value");
}
}
return rb_ary_join(ary, sep);
}
|