Skip to content

Commit

Permalink
Move docs inline from helpdb/Base.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
xorJane committed Dec 26, 2016
1 parent 4793e88 commit 561902e
Show file tree
Hide file tree
Showing 18 changed files with 543 additions and 590 deletions.
30 changes: 30 additions & 0 deletions base/abstractarray.jl
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,41 @@ _length(A) = length(A)
endof(a::AbstractArray) = length(a)
first(a::AbstractArray) = a[first(eachindex(a))]

"""
first(coll)
Get the first element of an iterable collection. Returns the start point of a
`Range` even if it is empty.
```jldoctest
julia> first(2:2:10)
2
julia> first([1; 2; 3; 4])
1
```
"""
function first(itr)
state = start(itr)
done(itr, state) && throw(ArgumentError("collection must be non-empty"))
next(itr, state)[1]
end

"""
last(coll)
Get the last element of an ordered collection, if it can be computed in O(1) time. This is
accomplished by calling [`endof`](@ref) to get the last index. Returns the end
point of a `Range` even if it is empty.
```jldoctest
julia> last(1:2:10)
9
julia> last([1; 2; 3; 4])
4
```
"""
last(a) = a[end]

"""
Expand Down
17 changes: 17 additions & 0 deletions base/bitarray.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1301,6 +1301,23 @@ function (|)(B::BitArray, x::Bool)
end
(|)(x::Bool, B::BitArray) = B | x

"""
xor(x, y)
⊻(x, y)
Bitwise exclusive or of `x` and `y`. The infix operation
`a ⊻ b` is a synonym for `xor(a,b)`, and
`⊻` can be typed by tab-completing `\\xor`
or `\\veebar` in the Julia REPL.
```jldoctest
julia> [true; true; false] ⊻ [true; false; false]
3-element Array{Bool,1}:
false
true
false
```
"""
function xor(B::BitArray, x::Bool)
x ? ~B : copy(B)
end
Expand Down
17 changes: 17 additions & 0 deletions base/bool.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,23 @@ typemax(::Type{Bool}) = true

## boolean operations ##

"""
!(x)
Boolean not.
```jldoctest
julia> !true
false
julia> !false
true
julia> ![true false true]
1×3 Array{Bool,2}:
false true false
```
"""
function !(x::Bool)
## We need a better heuristic to detect this automatically
@_pure_meta
Expand Down
13 changes: 13 additions & 0 deletions base/complex.jl
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,19 @@ real(T::Type) = typeof(real(zero(T)))
real{T<:Real}(::Type{T}) = T
real{T<:Real}(::Type{Complex{T}}) = T

"""
isreal(x) -> Bool
Test whether `x` or all its elements are numerically equal to some real number.
```jldoctest
julia> isreal(5.)
true
julia> isreal([4.; complex(0,1)])
false
```
"""
isreal(x::Real) = true
isreal(z::Complex) = iszero(imag(z))
"""
Expand Down
17 changes: 17 additions & 0 deletions base/dict.jl
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,23 @@ function sizehint!(d::Dict, newsz)
rehash!(d, newsz)
end

"""
empty!(collection) -> collection
Remove all elements from a `collection`.
```jldoctest
julia> A = Dict("a" => 1, "b" => 2)
Dict{String,Int64} with 2 entries:
"b" => 2
"a" => 1
julia> empty!(A);
julia> A
Dict{String,Int64} with 0 entries
```
"""
function empty!{K,V}(h::Dict{K,V})
fill!(h.slots, 0x0)
sz = length(h.slots)
Expand Down
Loading

0 comments on commit 561902e

Please sign in to comment.