āĻ°ā§āĻŦāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ 2.7.0

āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻāĻ• āĻŦāĻ›āĻ° āĻĒāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻ°ā§āĻŦāĻŋ 2.7.0, āĻāĻ•āĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻž āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻĻāĻ•ā§āĻˇ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻ˛, āĻœāĻžāĻ­āĻž, āĻĒāĻžāĻ‡āĻĨāĻ¨, āĻ¸ā§āĻŽāĻ˛āĻŸāĻ•, āĻ†āĻ‡āĻĢā§‡āĻ˛, āĻ…ā§āĻ¯āĻžāĻĄāĻž āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¸ā§āĻĒā§‡āĻ° āĻ¸ā§‡āĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ•ā§‹āĻĄ BSD ("2-āĻ•ā§āĻ˛āĻœ BSDL") āĻāĻŦāĻ‚ "āĻ°ā§āĻŦāĻŋ" āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž GPL āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ GPLv3 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ°ā§āĻŦāĻŋ 2.7 āĻšāĻ˛ āĻ¸āĻĒā§āĻ¤āĻŽ āĻŦāĻĄāĻŧ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻŦā§‡ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦāĻ°ā§āĻ§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ• āĻŦāĻ›āĻ° āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ 2-3 āĻŽāĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻš āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ:

  • āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻšāĻŋāĻ‚ (āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻšāĻŋāĻ‚) āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻŋāĻ˛ āĻĨāĻžāĻ•ā§‡āĨ¤

    āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ [0, [1, 2, 3]] [a, [b, *c]] pa #=> 0 āĻ
    pb #=> 1
    pc #=> [2, 3] āĻļā§‡āĻˇ

    āĻ•ā§‡āĻ¸ {a: 0, b: 1}
    in{a:0,x:1}
    : āĻ¨āĻžāĻ—āĻžāĻ˛āĻ¯ā§‹āĻ—ā§āĻ¯
    {a: 0, b: var}-āĻ
    p var #=> 1
    āĻļā§‡āĻˇ

  • āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻļāĻ¨ āĻ†āĻ‡āĻ†āĻ°āĻŦāĻŋ (āĻ†āĻ°āĻ‡āĻĒāĻŋāĻāĻ˛, āĻ°āĻŋāĻĄ-āĻ‡āĻ­āĻžāĻ˛-āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ-āĻ˛ā§āĻĒ) āĻāĻ° āĻļā§‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻāĻ–āĻ¨ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨-āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ˛āĻžāĻ‡āĻ¨āĻ°ā§āĻŦāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻžāĨ¤ rdoc-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž irb-āĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸, āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻŦāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¤āĻĨā§āĻ¯ āĻĻā§‡āĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ Binding#irb āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ•ā§‹āĻĄ āĻ¸āĻš āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻ°āĻ™āĻŋāĻ¨ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

    āĻ°ā§āĻŦāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ 2.7.0

  • āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻĒā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻœāĻŋāĻ¸āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻžā§āĻšāĻ˛āĻ•ā§‡ āĻĄāĻŋāĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋāĻ›ā§ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻ°ā§āĻŦāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ§ā§€āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ–āĻ°āĻš āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ—āĻžāĻĻāĻž āĻ‰āĻĒāĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ¯āĻžāĻ• āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ GC.compact āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•āĻŽāĻžāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻŋāĻĒ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§‡
    CoW (āĻ•āĻĒāĻŋ-āĻ…āĻ¨-āĻ°āĻžāĻ‡āĻŸ)āĨ¤

  • āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ ("def foo(a,b,c)") āĻāĻŦāĻ‚ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ ("def foo(key: val)")āĨ¤ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ…āĻŦāĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ°ā§āĻŦāĻŋ 3.0 āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻļā§‡āĻˇ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž, āĻļā§‡āĻˇ āĻšā§āĻ¯āĻžāĻļ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻĒāĻœāĻŋāĻļāĻ¨āĻžāĻ˛ āĻāĻŦāĻ‚ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ•ā§‡ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

    def foo (āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo({key: 42}) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo(**kw); āĻļā§‡āĻˇ; foo({key: 42}) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo (āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo(**{āĻ•ā§€: 42}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡
    def foo(**kw); āĻļā§‡āĻˇ; foo(**{āĻ•ā§€: 42}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡

    def foo(h, **kw); āĻļā§‡āĻˇ; foo(āĻ•ā§€: 42) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo(h, āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo(āĻ•ā§€: 42) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo(h, **kw); āĻļā§‡āĻˇ; foo({key: 42}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡
    def foo(h, āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo({key: 42}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡

    def foo(h={}, āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo("key" => 43, āĻ•ā§€: 42) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo(h={}, āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo({"key" => 43, āĻ•ā§€: 42}) # āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    def foo(h={}, āĻ•ā§€: 42); āĻļā§‡āĻˇ; foo({"key" => 43}, āĻ•ā§€: 42) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡

    def foo(opt={}); āĻļā§‡āĻˇ; foo(āĻ•ā§€: 42) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡

    def foo(h, **nil); āĻļā§‡āĻˇ; foo(āĻ•ā§€: 1) #āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ
    def foo(h, **nil); āĻļā§‡āĻˇ; foo(**{āĻ•ā§€: 1}) # āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ
    def foo(h, **nil); āĻļā§‡āĻˇ; foo("str" ​​=> 1) # āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ
    def foo(h, **nil); āĻļā§‡āĻˇ; foo({key: 1}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡
    def foo(h, **nil); āĻļā§‡āĻˇ; foo({"str" ​​=> 1}) # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡

    h = {}; def foo(*a) āĻļā§‡āĻˇ; foo(**h) # [] h = {}; def foo(a) āĻļā§‡āĻˇ; foo(**h) # {} āĻāĻŦāĻ‚ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž
    h = {}; def foo(*a) āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻˇ; foo(h) # [{}] h = {}; def foo(a) āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻˇ; foo(h) # {}

  • āĻ¸ā§āĻ¯ā§‹āĻ— āĻŦā§āĻ˛āĻ• āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

    [1, 2, 3]. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ { @1 āĻ°āĻžāĻ–ā§‡ } # āĻ¯ā§‡āĻŽāĻ¨ [1, 2, 3]āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ { |i| āĻ°āĻžāĻ–ā§‡ āĻ†āĻŽāĻŋ }

  • āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŽāĻžāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻŦā§āĻ¯āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤

    ary[..3] # ary[0..3] rel.where(āĻŦāĻŋāĻ•ā§āĻ°āĻ¯āĻŧ: ..100) āĻāĻ° āĻŽāĻ¤ā§‹

  • āĻ—āĻŖāĻ¨āĻžāĻ¯ā§‹āĻ—ā§āĻ¯#āĻŸāĻžāĻ˛āĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ•āĻ¤āĻŦāĻžāĻ° āĻ˜āĻŸāĻŦā§‡ āĻ¤āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

    ["a", "b", "c", "b"]. tally
    #=> {"a"=>1, "b"=>2, "c"=>1}

  • "āĻ¸ā§āĻŦ" āĻ†āĻ•ā§āĻˇāĻ°āĻŋāĻ• āĻ¸āĻš āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ā§ˇ

    deffoo
    āĻļā§‡āĻˇ
    āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:foo
    self.foo

  • āĻāĻ•āĻŸāĻŋ āĻ…āĻ˛āĻ¸ (āĻ—āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€::āĻ…āĻ˛āĻ¸) āĻ—āĻŖāĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ—āĻŖāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ—āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€::āĻ…āĻ˛āĻ¸ #eager āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

    a = %w (foo āĻŦāĻžāĻ° baz)
    e = a.lazy.map {|x| x.upcase }.āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° {|x| x + "!" }.āĻ†āĻ—ā§āĻ°āĻšā§€
    p e.class #=> āĻ—āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€
    āĻ‡.āĻŽā§āĻ¯āĻžāĻĒ {|x| x + "?" } #=> [“FOO!?”, “āĻŦāĻžāĻ°!?”, “āĻŦāĻžāĻœ!?”]

  • āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• JIT āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļ āĻ…āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ°ā§āĻŦāĻŋ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ°ā§āĻŦāĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻœā§‡āĻ†āĻ‡āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸āĻŋ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻ¸āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ (GCC, Clang āĻāĻŦāĻ‚ Microsoft VC ++ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤)āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡, āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻŽā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§€ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—, "--āĻœāĻŋāĻ¤-āĻŽāĻŋāĻ¨-āĻ•āĻ˛" āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ 5 āĻĨā§‡āĻ•ā§‡ 10000 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ "--āĻœāĻŋāĻ¤-āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸-āĻ•ā§āĻ¯āĻžāĻļā§‡" 1000 āĻĨā§‡āĻ•ā§‡ 100 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤
  • CGI.escapeHTML, Monitor āĻāĻŦāĻ‚ MonitorMixin-āĻāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤
  • āĻŽāĻĄāĻŋāĻ‰āĻ˛#āĻ¨āĻžāĻŽ, true.to_s, false.to_s, āĻāĻŦāĻ‚ nil.to_s āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĢāĻŋāĻ°ā§‡ āĻāĻ¸ā§‡āĻ›ā§‡āĨ¤
  • RubyVM::InstructionSequence#to_binary āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻ¸āĻš
    āĻŦāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° 2.1.2, RubyGems 3.1.2,
    Racc 1.4.15,
    CSV 3.1.2, REXML 3.2.3,
    āĻ†āĻ°āĻāĻ¸āĻāĻ¸ 0.2.8,
    āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻžāĻ° 1.0.3;

  • āĻ—ā§āĻ°āĻ¨ā§āĻĨāĻžāĻ—āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻ°āĻ¤ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
    CMath (cmath āĻ°āĻ¤ā§āĻ¨),
    āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻĢ (āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻĢ āĻŽāĻŖāĻŋ),
    āĻļā§‡āĻ˛ (āĻ–ā§‹āĻ˛ā§‡āĻ° āĻŽāĻŖāĻŋ),
    āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœāĻžāĻ° (āĻ¸āĻŋāĻ™ā§āĻ• āĻŽāĻŖāĻŋ),
    āĻĨā§āĻ°ā§‡āĻĄāĻ¸ āĻ“āĻ¯āĻŧā§‡āĻŸ (āĻĨā§‹āĻ¯āĻŧāĻžāĻ‡āĻŸ āĻŽāĻŖāĻŋ),
    E2MM (e2mmap āĻ°āĻ¤ā§āĻ¨)āĨ¤

  • āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ stdlib āĻŽāĻĄāĻŋāĻ‰āĻ˛ rubygems.org āĻ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ:
    āĻŽāĻžāĻĒāĻ•āĻžāĻ āĻŋ,
    cgi,
    āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋ,
    āĻĻā§€āĻ°ā§āĻ˜āĻ•ā§āĻˇāĻŖ,
    āĻ¨ā§‡āĻŸ āĻĒāĻĒ,
    āĻ¨ā§‡āĻŸ āĻāĻ¸āĻāĻŽāĻŸāĻŋāĻĒāĻŋ,
    open3,
    pstore,
    āĻāĻ•āĻ•āĻŸāĻ¨ āĻŽāĻ¨āĻŋāĻŸāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ rubygems.org-āĻ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĻ¨āĻŋ
    āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻ•,
    āĻ¸āĻŽāĻ¯āĻŧ āĻļā§‡āĻˇ,
    āĻŸā§āĻ°ā§‡āĻ¸āĻžāĻ°,
    āĻ‡āĻ‰āĻ°āĻŋ,
    āĻ‡āĻ¯āĻŧāĻžāĻŽāĻ˛, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ°ā§āĻŦāĻŋ-āĻ•ā§‹āĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤

  • āĻ°ā§āĻŦāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ C āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯āĻž C99 āĻŽāĻžāĻ¨āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨