1.0 λ¦΄λ¦¬μ€ μ΄μ μ λ§μ λΌμ΄λΈλ¬λ¦¬ μ½λκ° λ³κ²½λ κ²μΌλ‘ μμλλ―λ‘ μ§κΈ λ³κ²½νλ κ²μ μλ―Έκ° μμ§λ§ ν΅μ¬ λ° νμ€ λΌμ΄λΈλ¬λ¦¬λ API λ¬Έμμ μΌκ΄λ μ€νμΌμ μ¬μ©ν΄μΌ ν©λλ€. Wiki λ κ·μΉμ μ§μ νλ €κ³ μλνμ§λ§ μ΄λ₯Ό ꡬ체ννκ³ μ€μ λ‘ μ½λλ² μ΄μ€μ μ μ©ν΄μΌ ν©λλ€.
νμ¬ μΌλΆ λ¬Έμ μ£Όμμ 3μΈμΉ μ§μ€λ²μΌλ‘ μμ±λμ΄ μμ΅λλ€.
pub fn map<T, U>(opt: &Option<T>, f: fn(x: &T) -> U) -> Option<U> {
//! Maps a `some` value by reference from one type to another
μΌλΆλ λͺ λ ΉνμΌλ‘ μμ±λμμ΅λλ€.
pub fn chain<T, U>(opt: Option<T>,
f: fn(t: T) -> Option<U>) -> Option<U> {
/*!
* Update an optional value by optionally running its content through a
* function that returns an option.
*/
μ΄ λ μλ λ λ€λ₯Έ λΆμΌμΉλ₯Ό 보μ¬μ€λλ€. μΌλΆ μμ½(μ£Όμμ 첫 λ²μ§Έ μ€)μλ λ§μΉ¨νκ° μλ λ°λ©΄ λ€λ₯Έ μμ½μ λ§μΉ¨νλ‘ λλ©λλ€.
ν κ°μ§ λ λ¬λΌμ§ μ μ μ£Όμ μ€νμΌ μ체μ λλ€. μΌλΆ λ¬Έμ μ£Όμμ λ€μκ³Ό κ°μ΅λλ€.
/*!
* foo...
* bar...
* baz...
*/
λ€λ₯Έ μ¬λλ€μ΄ μ²λΌ 보μ΄λ λμ
/*!
foo...
bar...
baz...
*/
μ΄λ¬ν κ·μΉ(λ° κΈ°ν)μ΄ μ±λ¬Ένλλ©΄ κΈ°κΊΌμ΄ λ¬Έμ μ£Όμμ μ΄ν΄λ³΄κ³ μ λ°μ΄νΈνκ² μ΅λλ€.
:+1: μ΄μ λν΄ λ Όμν©λλ€. λ¬Έμλ₯Ό μ 곡νκ³ μΆμ§λ§ μλ£λ νμλ λ λ§μ μμ μ μννκ³ μΆμ§ μμ΅λλ€. ;)
λΉκ΅λ₯Ό μν΄ νμ€ Python μ€νμΌμ λͺ λ Ήν "Return ..."μ μ¬μ©νλ κ²μΈλ° μ μλν©λλ€.
http://www.python.org/dev/peps/pep-0257/#one -line-docstrings
Goλ λΉλͺ λ Ή μ€νμΌλ‘ μ μ°©νμ΅λλ€: http://golang.org/pkg/
λΆλ₯λ₯Ό μν΄ λ°©λ¬Έν©λλ€.
κ°μΈμ μΌλ‘ λͺ λ Ήν λμ¬μ λ§μΉ¨νλ₯Ό μ νΈν©λλ€. λ¬Έμ μ£Όμ μ€νμΌμ κ΄ν΄μλ, μ μ΄λ μΈμ΄κ° μ¬λ¬ κ°μ§ λ°©λ²μ μ μνλ λμμ μ°λ¦¬κ° λ€λ₯Έ λ°©λ²μ λν΄ νΉμ λ°©λ²μ μ μ©ν΄μΌ νλ€κ³ μκ°νμ§ μμ΅λλ€. λν λ΄κ° μ νΈνλ λ°©λ²μ
/**
* doc string
*/
μ λ λͺ
λ Ήνμ μ νΈν©λλ€. Styleμ λν μ νκ³Ό μΈμλ₯Ό μ°Έμ‘°νκΈ° μν ν΅ν© ꡬ문μ ν¬ν¨ν΄μΌ νλ―λ‘ rustdoc
μ μ νκ² μ£Όμμ λ¬κ±°λ νμ΄νΌλ§ν¬ν μ μμ΅λλ€. κ·Έκ²μ κΈΈ μλμ μμ§λ§
λΆλ₯λ₯Ό μν΄ λ°©λ¬Έν©λλ€. λλ μ΄κ²μ λν΄ κ±°μ μκ²¬μ΄ μμ΅λλ€.
μ€λͺ μ€νμΌ:
Sorts the elements ...
http://msdn.microsoft.com/en-gb/library/w56d4y5z%28v=vs.85%29.aspx#United %20Kingdom%20%28μμ΄%29... sorts the elements ...
http://www.sgi.com/tech/stl/sort.html... sorts data ...
http://golang.org/pkg/sort/#μ λ ¬... takes an element and a list and inserts the element into the list ...
http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-List.htmlSorts the specified array ...
http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.htmlSorts self in place.
http://www.ruby-doc.org/core-2.1.0/Array.html#method -i-sort-21λͺ λ Ή μ€νμΌ:
... sort a list ...
http://caml.inria.fr/pub/docs/manual-ocaml/libref/List.htmlSort the items ...
http://docs.python.org/2/tutorial/datastructures.htmlλ΄κ° λ€μκ³Ό κ°μ΄ λ§ν λκΉμ§ λ©μλ μ μλ μ무 κ²λ νμ§ μκΈ° λλ¬Έμ λλ μ€λͺ μ μΈ λ²μ μ μ νΈν©λλ€.
class Machine
{
// Self-destructs the machine, if necessary.
void self_destruct();
};
// Self-destruct!
if ( emergency )
machine.self_destruct();
λλ kud1ingμ μ£Όμ₯μ ν©λ¦¬μ μ λλ€. λν λ¬Έμμ λμ μλ λ°©μμΌλ‘ ν μ€μ μ리 λ΄μ΄ μ½λ κ²½μ°:
0 λνκΈ° ID 0μ λ°νν©λλ€.
κ·Έλ° λ€μ μ μΈμ νμμ μ€μ λ¬Έμ₯ "zero" returns the additive identity, 0.
λ§λλλ€.
@Armavica : μ€μ λ‘ The method "zero" returns the additive identity, 0
μ μΆμ½νμ
λλ€.
λ¬Έμν λ° μΈν°νμ΄μ€λ μ²μ€μκ² λ¬΄μΈκ°λ₯Ό μ μνκ³ μμ΅λλ€. ꡬνμμ λ¬΄μ¨ μΌμ΄/μ΄λ»κ²/μ μΌμ΄λλμ§ μ€λͺ ν λ λͺ λ Ήνμ΄ λ ν©λ¦¬μ μ΄λΌκ³ μκ°ν©λλ€.
λ¬Έμμ μμ μ€νμΌμ λν https://github.com/mozilla/rust/issues/9403 λ μμ΅λλ€.
μκΈ°.
μ¬κΈ° μ£Όμμμ μ€λͺ νλ μ€νμΌ(μ: "λ°μ΄νΈλ₯Ό λ¬Έμμ΄λ‘ λ³νν©λλ€.")μ΄ λͺ λ Ήν μ€νμΌ("λ°μ΄νΈλ₯Ό λ¬Έμμ΄λ‘ λ³νν©λλ€.")λ³΄λ€ λ λ§μ΄ μ¬μ©λλ κ² κ°μ΅λλ€. μ°λ¦¬κ° μ΄λ€ κΈΈμ κ°λμ§λ ν¬κ² μ κ²½μ°μ§ μμ§λ§, μ΄μ λν΄ κ³΅μμ μΈ κ²°μ μ λ΄λ¦¬λ κ²μ΄ μ’μ κ²μ λλ€.
μ΄κ²μ λͺ λ Ήνμ΄λΌκ³ λΆλ₯΄λ κ²μ μλͺ»λ κ²μ΄λΌκ³ μκ°ν©λλ€. μ무μκ²λ μ§μνμ§ μκΈ° λλ¬Έμ λ°λμ νμν κ²μ μλλλ€. λλ κ·Έκ²μ΄ 1μΈμΉ νμ¬ μμλΌκ³ μκ°νλ€. κΈμ μ°κ³ μΆμ μΆ©λμ΄
/// Frob the twaddle.
fn frob() {}
"λλ κΈ°λ₯μ΄λ€. λλ 무μμ ν κΉ?"λΌλ λ§μκ°μ§μμ λΉλ‘―λ κ²μ΄λ―λ‘ 1μΈμΉ νμ¬ μ§μ€λ²μ λλ€.
κ·Έλ¬λ λ¬Έμλ₯Ό μ½μ λ λλΆλΆμ λ μλ μμ°μ€λ½κ² ν¨μλ₯Ό 1μΈμΉ μ£Όμ κ° μλ 3μΈμΉ λ¨μ μ£Όμ λ‘ μ·¨κΈν©λλ€. μ΄λ₯Ό μν΄ λ¬Έμλ 1μΈμΉμ΄ μλ 3μΈμΉ λ¨μλ‘ μμ±λμ΄μΌ ν©λλ€.
μ΄κ²μ 1μΈμΉ νμ¬ νμκ° μλ λͺ λ ΉνμΌλ‘ κ°μ£ΌνκΈ° μν΄ λ΄κ° λ³Ό μ μλ μ μΌν ν©λ¦¬μ μΈ μ£Όμ₯μ λ μ€νΈλ§μ΄ μ¬μ©μκ° κ΅¬νν΄μΌ νλ ν¨μ μ μΈμ μ€λͺ ν λμ λλ€. μ΄κ²μ κ°μ²΄μ§ν₯ μΈμ΄μμ λ§€μ° μΌλ°μ μ΄μ§λ§, λ¬μ€νΈμμλ νΉμ± λ©μλμλ§ μ μ©λ©λλ€. μ΄ κ²½μ°λ λ©μλλ₯Ό μ¬λ°λ₯΄κ² ꡬννκΈ° μν΄ μνν΄μΌ νλ μμ μ μλ € μ£ΌκΈ° λλ¬Έμ λͺ λ Ήν μ¬μ©μ μ μν©λλ€.
κ·Έλ¬λ λλ μ΄ μ£Όμ₯μ΄ μ€λλ ₯μ΄ μλ€κ³ μκ°νμ§ μλλ€. λ¬Έμνμ μ£Όμ μ¬μ© μ¬λ‘λ λ μμκ² APIλ₯Ό ꡬννλ λ°©λ²μ΄ μλλΌ APIλ₯Ό _μ¬μ©_νλ λ°©λ²μ μλ €μ£Όλ κ²μ λλ€. APIμ μ¬μ© νμλ ꡬν νμλ₯Ό ν¨μ¬ λ₯κ°ν©λλ€(κ°μ₯ λν΄ν κ²½μ°λ₯Ό μ μΈνκ³ λ λͺ¨λ). λ°λΌμ λλ νΉμ± λ°©λ²μ λν΄μλ λͺ λ Ήνμ μ¬μ©νλ κ²λ³΄λ€ 3μΈμΉ λ¨μμ νμ¬ μ§μ€λ²μ μ¬μ©νλ κ²μ΄ λ ν©λ¦¬μ μ΄λΌκ³ μκ°ν©λλ€.
μ²λ¦¬ν΄μΌ ν λ λ€λ₯Έ μ¬ν: νμ΄ν λλ μ λμ:
https://en.wikipedia.org/wiki/Dash#Relationships_and_connections
μ΄λ¬ν μ’ν/κ΄κ³/μ°κ²° μ νμ μ©μ΄μμ νμ΄ν λμ μ λμλ₯Ό μ νΈνλ κ²μ κ³ μ ν μ² μλ² "μ νμ±"μ΄ μλλΌ μ€νμΌ μ νΈλμ λ¬Έμ μ λλ€. λ λ€ λκ°μ΄ "μ¬λ°λ₯Έ" κ²μ΄κ³ , κ°κ°μ μΌλΆ μ€νμΌ κ°μ΄λμμ μ νΈλλ μ€νμΌμ λλ€.
RFCλ₯Ό μ μΆνμ΅λλ€: https://github.com/rust-lang/rfcs/pull/505
κ°μ₯ μ μ©ν λκΈ
μ€λͺ μ€νμΌ:
Sorts the elements ...
http://msdn.microsoft.com/en-gb/library/w56d4y5z%28v=vs.85%29.aspx#United %20Kingdom%20%28μμ΄%29... sorts the elements ...
http://www.sgi.com/tech/stl/sort.html... sorts data ...
http://golang.org/pkg/sort/#μ λ ¬... takes an element and a list and inserts the element into the list ...
http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-List.htmlSorts the specified array ...
http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.htmlSorts self in place.
http://www.ruby-doc.org/core-2.1.0/Array.html#method -i-sort-21λͺ λ Ή μ€νμΌ:
... sort a list ...
http://caml.inria.fr/pub/docs/manual-ocaml/libref/List.htmlSort the items ...
http://docs.python.org/2/tutorial/datastructures.html