|
1 | 1 | --- |
2 | 2 | layout: page |
3 | | -title: "Official Ruby FAQ" |
| 3 | +title: "Официальный FAQ по Ruby" |
4 | 4 | lang: ru |
5 | 5 |
|
6 | 6 | header: | |
7 | 7 | <div class="multi-page"> |
8 | | - <a href="../" title="Content">Content</a> |
| 8 | + <a href="../" title="Оглавление">Оглавление</a> |
9 | 9 | <span class="separator"> | </span> |
10 | | - <a href="../1/" title="Part 1">1</a> |
| 10 | + <a href="../1/" title="Часть 1">1</a> |
11 | 11 | <span class="separator"> | </span> |
12 | | - <a href="../2/" title="Part 2">2</a> |
| 12 | + <a href="../2/" title="Часть 2">2</a> |
13 | 13 | <span class="separator"> | </span> |
14 | | - <a href="../3/" title="Part 3">3</a> |
| 14 | + <a href="../3/" title="Часть 3">3</a> |
15 | 15 | <span class="separator"> | </span> |
16 | | - <a href="../4/" title="Part 4">4</a> |
| 16 | + <a href="../4/" title="Часть 4">4</a> |
17 | 17 | <span class="separator"> | </span> |
18 | | - <a href="../5/" title="Part 5">5</a> |
| 18 | + <a href="../5/" title="Часть 5">5</a> |
19 | 19 | <span class="separator"> | </span> |
20 | | - <a href="../6/" title="Part 6">6</a> |
| 20 | + <a href="../6/" title="Часть 6">6</a> |
21 | 21 | <span class="separator"> | </span> |
22 | | - <a href="../7/" title="Part 7">7</a> |
| 22 | + <a href="../7/" title="Часть 7">7</a> |
23 | 23 | <span class="separator"> | </span> |
24 | | - <a href="../8/" title="Part 8">8</a> |
| 24 | + <a href="../8/" title="Часть 8">8</a> |
25 | 25 | <span class="separator"> | </span> |
26 | | - <a href="../9/" title="Part 9">9</a> |
| 26 | + <a href="../9/" title="Часть 9">9</a> |
27 | 27 | <span class="separator"> | </span> |
28 | 28 | <strong>10</strong> |
29 | 29 | <span class="separator"> | </span> |
30 | | - <a href="../11/" title="Part 11">11</a> |
| 30 | + <a href="../11/" title="Часть 11">11</a> |
31 | 31 | </div> |
32 | | - <h1>Official Ruby FAQ</h1> |
| 32 | + <h1>Официальный FAQ по Ruby</h1> |
33 | 33 |
|
34 | 34 | --- |
35 | 35 |
|
36 | 36 | {% include faq-notice.md %} |
37 | 37 |
|
38 | | -## Extension library |
| 38 | +## Библиотека расширений |
39 | 39 |
|
40 | | -### How can I use Ruby interactively? |
| 40 | +### Как я могу использовать Ruby интерактивно? |
41 | 41 | {: #irb} |
42 | 42 |
|
43 | 43 | {% include warnings/faq-out-of-date.html %} |
44 | 44 |
|
45 | | -You can try using `irb`. The following is paraphrased from Kentaro Goto |
46 | | -(Gotoken), and originally appeared in [\[ruby-talk:444\]][ruby-talk:444]. |
47 | | - |
48 | | -1. Get the latest tarball of `irb` from the |
49 | | - [contrib directory](ftp://ftp.netlab.co.jp/pub/lang/ruby/contrib/) |
50 | | - in the Ruby archive. |
51 | | -2. Extract the `irb` directory tree. |
52 | | -3. Add the location of the `irb/` directory to the `$RUBYLIB` |
53 | | - environment variable. |
54 | | -4. Make a symbolic link from `$RUBYLIB/irb/irb.rb` to a file called `irb` |
55 | | - somewhere in your path. |
| 45 | +Вы можете попробовать использовать `irb`. Ниже приведено переложение текста Kentaro Goto (Gotoken), который изначально появился в [\[ruby-talk:444\]][ruby-talk:444]. |
| 46 | + |
| 47 | +1. Получите последний тарбол `irb` из [директории contrib](ftp://ftp.netlab.co.jp/pub/lang/ruby/contrib/) в архиве Ruby. |
| 48 | +2. Распакуйте дерево директорий `irb`. |
| 49 | +3. Добавьте путь к директории `irb/` в переменную окружения `$RUBYLIB`. |
| 50 | +4. Создайте символическую ссылку из `$RUBYLIB/irb/irb.rb` на файл с именем `irb` где-нибудь в вашем пути PATH. |
56 | 51 | 5. `chmod +x $RUBYLIB/irb/irb.rb` |
57 | | -6. Possibly use `rehash` to tell your login shell about the new command. |
58 | | -7. Type `irb`. |
| 52 | +6. Возможно, используйте `rehash`, чтобы сообщить вашей оболочке о новой команде. |
| 53 | +7. Введите `irb`. |
59 | 54 |
|
60 | | -If the readline extension module works with your interpreter, it makes `irb` |
61 | | -a lot more fun to use. |
| 55 | +Если модуль расширения readline работает с вашим интерпретатором, это сделает использование `irb` гораздо приятнее. |
62 | 56 |
|
63 | | -There is also a simple program, `eval`, in the `samples/` directory of the |
64 | | -Ruby distribution. It lets you enter expressions and view their values. |
65 | | -You can copy `eval` into the `site_ruby` directory in the Ruby tree, and |
66 | | -then invoke it using: |
| 57 | +В директории `samples/` дистрибутива Ruby также есть простая программа `eval`. Она позволяет вводить выражения и просматривать их значения. Вы можете скопировать `eval` в директорию `site_ruby` в дереве Ruby, а затем вызывать её с помощью: |
67 | 58 |
|
68 | 59 | ~~~ |
69 | 60 | ruby -r eval -e0 |
70 | 61 | ~~~ |
71 | 62 |
|
72 | 63 | [ruby-talk:444]: https://blade.ruby-lang.org/ruby-talk/444 |
73 | 64 |
|
74 | | -### Is there a debugger for Ruby? |
| 65 | +### Есть ли отладчик для Ruby? |
75 | 66 |
|
76 | | -There is a gdb-like debugger for Ruby. |
| 67 | +Для Ruby существует gdb-подобный отладчик. |
77 | 68 |
|
78 | 69 | ~~~ |
79 | 70 | ruby -r debug your_program |
80 | 71 | ~~~ |
81 | 72 |
|
82 | | -### How can I use a library written in C from Ruby? |
| 73 | +### Как я могу использовать библиотеку, написанную на C, из Ruby? |
83 | 74 |
|
84 | | -Of all the scripting languages, Ruby is probably the easiest to extend. |
85 | | -There are no problems with reference counting and variable types, and very |
86 | | -few interfaces to learn. In fact, C code used to extend Ruby often ends up |
87 | | -looking surprisingly like Ruby code itself. |
| 75 | +Из всех скриптовых языков Ruby, вероятно, проще всего расширять. Здесь нет проблем с подсчетом ссылок и типами переменных, и нужно изучить совсем немного интерфейсов. На самом деле код на C, используемый для расширения Ruby, часто в итоге выглядит удивительно похожим на сам код Ruby. |
88 | 76 |
|
89 | | -First, read the `doc/extension.rdoc` file in the Ruby source, |
90 | | -or read [extension.rdoc on docs.ruby-lang.org][extension-rdoc]. |
91 | | -This is a good document, not only if you are writing an extension library, |
92 | | -but also if you want to understand Ruby more deeply. |
| 77 | +Сначала прочитайте файл `doc/extension.rdoc` в исходниках Ruby или прочитайте [extension.rdoc на docs.ruby-lang.org][extension-rdoc]. Это отличный документ не только если вы пишете библиотеку расширения, но и если вы хотите глубже понять Ruby. |
93 | 78 |
|
94 | | -Then, the RubyGems site provides a |
95 | | -[guide on creating gems with extensions][rubygems-guide]. |
96 | | -It shows how to setup a gem with C extensions that are built at install time. |
97 | | -It has also links to some existing gems that wrap C libraries and |
98 | | -to further reading. |
| 79 | +Затем сайт RubyGems предоставляет [руководство по созданию гемов с расширениями][rubygems-guide]. В нем показано, как настроить гем с расширениями на C, которые собираются во время установки. Там также есть ссылки на некоторые существующие гемы, которые оборачивают библиотеки на C, и материалы для дальнейшего чтения. |
99 | 80 |
|
100 | | -You might also want to have a look at the source of the interpreter itself, |
101 | | -and at the various supplied extensions in the `ext/` directory |
102 | | -(you can browse the [Ruby repository on GitHub][ruby-github]). |
| 81 | +Вы также можете взглянуть на исходный код самого интерпретатора и на различные поставляемые расширения в директории `ext/` (вы можете просмотреть [репозиторий Ruby на GitHub][ruby-github]). |
103 | 82 |
|
104 | 83 | [extension-rdoc]: https://docs.ruby-lang.org/en/master/extension_rdoc.html |
105 | 84 | [rubygems-guide]: http://guides.rubygems.org/gems-with-extensions/ |
106 | 85 | [ruby-github]: https://github.com/ruby/ruby |
107 | 86 |
|
108 | | -### Can I use Tcl/Tk in Ruby? |
| 87 | +### Могу ли я использовать Tcl/Tk в Ruby? |
109 | 88 |
|
110 | 89 | {% include warnings/faq-out-of-date.html %} |
111 | 90 |
|
112 | | -There are two interfaces to Tcl/Tk included in the standard distribution. |
113 | | -One is under `ext/tcltk/` and loaded with `require "tcltk"`. The syntax is |
114 | | -very close to that Tcl which is passed on to the Tcl interpreter. |
115 | | -Unfortunately, the description for this library is written in Japanese. |
| 91 | +В стандартный дистрибутив включены два интерфейса к Tcl/Tk. Один находится в `ext/tcltk/` и загружается с помощью `require "tcltk"`. Синтаксис очень близок к синтаксису Tcl, который передается интерпретатору Tcl. К сожалению, описание этой библиотеки написано на японском языке. |
116 | 92 |
|
117 | | -The other is under `ext/tk/` and loaded with `require "tk"`. Its syntax |
118 | | -is closer to the style of the Tk interface provided by the Perl and Python |
119 | | -interfaces. |
| 93 | +Другой находится в `ext/tk/` и загружается с помощью `require "tk"`. Его синтаксис ближе к стилю интерфейса Tk, предоставляемого интерфейсами Perl и Python. |
120 | 94 |
|
121 | | -### Tk won't work. Why? |
| 95 | +### Tk не работает. Почему? |
122 | 96 |
|
123 | 97 | {% include warnings/faq-out-of-date.html %} |
124 | 98 |
|
125 | | -Your Tk version may be old, try a newer version. |
| 99 | +Ваша версия Tk может быть старой, попробуйте более новую версию. |
126 | 100 |
|
127 | | -### Can I use gtk+ or xforms interfaces in Ruby? |
| 101 | +### Могу ли я использовать интерфейсы gtk+ или xforms в Ruby? |
128 | 102 |
|
129 | 103 | {% include warnings/faq-out-of-date.html %} |
130 | 104 |
|
131 | | -You will find `ruby-gtk-x.xx.tar.gz` and `ruby-forms-x.x.tar.gz` |
132 | | -under `contrib/` on the Ruby ftp sites. |
| 105 | +Вы найдете `ruby-gtk-x.xx.tar.gz` и `ruby-forms-x.x.tar.gz` в директории `contrib/` на ftp-сайтах Ruby. |
133 | 106 |
|
134 | | -### How can I do date arithmetic? |
| 107 | +### Как я могу выполнять арифметические операции с датами? |
135 | 108 |
|
136 | 109 | {% include warnings/faq-out-of-date.html %} |
137 | 110 |
|
138 | | -A `Time` object can express only the dates between Jan 1, 1970 and |
139 | | -Jan 19, 2038. |
| 111 | +Объект `Time` может выражать только даты между 1 января 1970 года и 19 января 2038 года. |
140 | 112 |
|
141 | | -Two standard extension library modules are provided: |
142 | | -`require "date"`, which is simple and uses the English calendar, |
143 | | -and `require "date2"`, which is more general purpose. |
| 113 | +Предоставляются два стандартных модуля библиотеки расширений: `require "date"`, который прост и использует английский календарь, и `require "date2"`, который более универсален. |
144 | 114 |
|
145 | | -Also see `sample/cal.rb`. |
| 115 | +Также смотрите `sample/cal.rb`. |
0 commit comments