kink / src / doc / _translation / ja / characteristics.po

# Japanese translations for Kink Programming Language package.
# Copyright (C) 2012, Miyakawa Taku
# This file is distributed under the same license as the Kink Programming Language package.
# Automatically generated, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Kink Programming Language 0.1 (devel)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-21 23:03\n"
"PO-Revision-Date: 2012-12-02 11:18\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

# 39a8294f9ab245cc81ca73c5dcc7b0bb
#: ../../../../src/doc/characteristics.rst:3
msgid "Characteristics"
msgstr "特徴"

# 200aba65464945b78907254a7da44155
#: ../../../../src/doc/characteristics.rst:4
msgid ""
"This chapter introduces characteristics of the language to those who know "
"other languages well."
msgstr ""
"この章では、他の言語を良く知っている人向けに、 Kink の特徴を紹介します。"

# d310fd5e0a1b446e82f01e2aa4d42666
#: ../../../../src/doc/characteristics.rst:8
msgid "Functional"
msgstr "関数的"

# c9dd74b0bc9147eeb95ce6b25764aeac
#: ../../../../src/doc/characteristics.rst:9
msgid ""
"Kink is a pseudo-functional language. \"Functional\" means that functions "
"are first class values. They can be stored in variables, and passed to other "
"functions as arguments."
msgstr ""
"Kink は擬似関数的言語です。「関数的」とはつまり、関数が第一級の値だということ"

# c9cd08ef02c347dc851a52129b914b4a
#: ../../../../src/doc/characteristics.rst:14
msgid ""
"This is a function which doubles a number. The function is stored in a "
"variable named ``double``."
msgstr ""
"次の例は、数を二倍する関数です。この関数を、 ``double`` という名前の変数に格"

# 02cb22920b49436e97419cba66002739
#: ../../../../src/doc/characteristics.rst:21
msgid "Let's call the function."
msgstr "関数を呼んでみましょう。"

# 49da7203a1944f50977a2b829c400c30
#: ../../../../src/doc/characteristics.rst:27
msgid "The function can be passed to other functions."
msgstr "この関数を他の関数に渡してみましょう。"

# c41068906d5c4d37bd6744131ebfa328
#: ../../../../src/doc/characteristics.rst:34
msgid ""
"\"Pseudo\" means that the language is not purely functional, since variables "
"can be set multiple times in a Kink program. Although the language is not "
"purely functional, writing programs in a functional way is a good habit."
msgstr ""
"「擬似」とは、 Kink のプログラムで変数に値が複数回格納でき、したがって純関数"

# 9182ef24247f43d086014fdd7e9ad72f
#: ../../../../src/doc/characteristics.rst:40
msgid "Prototype-based"
msgstr "プロトタイプベース"

# ebace37d28974f438f26b5fdeb9da20a
#: ../../../../src/doc/characteristics.rst:41
msgid ""
"The object system of Kink supports inheritance without classes. A value "
"inherits variables from its parent. This type of object system is called "
msgstr ""
"Kink のオブジェクトシステムは、クラス無しで継承を実現しています。値は親から変"

# 68aa935547094280a46ebb955c8a0071
#: ../../../../src/doc/characteristics.rst:45
msgid ""
"You can make ``Dog`` value which has ``bark`` function and ``howl`` function "
"without making a class."
msgstr ""
"次の例では、 ``bark`` 関数と ``howl`` 関数を持つ ``Dog`` という値を、クラス"

# bc3328894eaf4cf080e3362b2afb6cd8
#: ../../../../src/doc/characteristics.rst:54
msgid ""
"You can make a variant of ``Dog`` by making a child. A child inherits its "
"variables from the parent."
msgstr ""
"``Dog`` の変種を作るには、子供を作ります。子供は親から変数を継承します。"

# 1fbca340674c46918b8efde2f98d2008
#: ../../../../src/doc/characteristics.rst:64
msgid "Prototype-based inheritance is used in various ways, such as:"
msgstr ""

# 5840ec9bd761402ca3a8880fe42030dd
#: ../../../../src/doc/characteristics.rst:66
msgid "Relationship between a prototype and regular values (shown above)"
msgstr "プロトタイプと普通の値の関係 (上述)"

# 6d8e7942f1c342fbb5da05b46db2dddf
#: ../../../../src/doc/characteristics.rst:67
msgid "Relationship between a supertype and subtypes"
msgstr "基底型と派生型の関係"

# 1623ffffb40847898d6f5d9469197a66
#: ../../../../src/doc/characteristics.rst:68
msgid "Lexical scoping of local variables"
msgstr "ローカル変数のレキシカルスコーピング"

# 498af4bcc62c43beb83eea4103a9b894
#: ../../../../src/doc/characteristics.rst:71
msgid "Runs on JVM"
msgstr "JVM 上での動作"

# 1a7f34dbe72a4e36ab3ed17235e2fc62
#: ../../../../src/doc/characteristics.rst:72
msgid ""
"Kink runs on JVM. Thus, you can use Java class libraries, such as Swing, in "
"a Kink program."
msgstr ""
"Kink は JVM 上で動きます。したがって、 Kink プログラムから Swing の様な Java "

# 7b3ae914c90945c5915ffa941e09d09d
#: ../../../../src/doc/characteristics.rst:81
msgid ""
"You can also make a Java instance of a new class, extending an interface or "
"a class."
msgstr ""

# 04cb00eb04774e50b62f74a98617906d
#: ../../../../src/doc/characteristics.rst:99
msgid "No commas, no semicolons"
msgstr "カンマ要らず、セミコロン要らず"

# 49d95fe1b17d44d8965a807e6d817289
#: ../../../../src/doc/characteristics.rst:100
msgid "You don't have to use commas and semicolons to separate expressions."
msgstr "式を区切るのにカンマやセミコロンを使う必要はありません。"

# 7c7dc89ca26b414fa444d1126d88831e
#: ../../../../src/doc/characteristics.rst:102
msgid "In this example, function calls are separated each other."
msgstr "次の例では、関数呼び出しが正しく区切られています。"

# 3c37bf0f03a5456f80b4f18c13896ec8
#: ../../../../src/doc/characteristics.rst:110
msgid ""
"In this example, the arguments of \"Set.set\" function are separated between "
"each string."
msgstr "次の例では、 Set.set 関数の引数が文字列ごとに区切られています。"

# 6aae02979988494a8fbb442b201cb68a
#: ../../../../src/doc/characteristics.rst:119
msgid ""
"In this example, you have to put the second argument ``-10`` in parentheses "
"to prevent the parser from reading the arguments as ``0 - 10``."
msgstr ""
"次の例では、二つ目の引数である ``-10`` を括弧に入れる必要があります。これ"
"は、 ``0 - 10`` として解釈されることを防ぐためです。"

# e7514015ecc84f6aa84fa752f5e1c587
#: ../../../../src/doc/characteristics.rst:128
msgid "Control structures by functions"
msgstr "関数による制御構造"

# d07757947f7b47e583e32e42416c3a70
#: ../../../../src/doc/characteristics.rst:129
msgid "Control structures are provided by functions."
msgstr "制御構造は関数によって実現されます。"

# 737fbd5d4f3c40a091268b8fa2706fd5
#: ../../../../src/doc/characteristics.rst:131
msgid ""
"For example, while loop is provided by ``loop`` function of a function value."
msgstr "たとえば、 while ループは関数値の ``loop`` 関数によって実現されます。"

# 5d28962c55e1463ca5270a1e56877dcf
#: ../../../../src/doc/characteristics.rst:143
msgid "If-then-else is provided by ``then`` function of a boolean value."
msgstr "If-then-else はブーリアン値の ``then`` 関数によって実現されます。"

# 50ef9fe2fef7414582e144aba08bc480
#: ../../../../src/doc/characteristics.rst:150
msgid "Assignment by function calls"
msgstr "関数呼び出しによる代入"

# 43fbaf73516a4c5b82ca2ce08dbcf678
#: ../../../../src/doc/characteristics.rst:151
msgid ""
"In Kink, operators are syntax sugar for other expressions, such as function "
"calls. Assignment is no exception. ``:Num = 42`` is simply read as ``:Num."
"op_set(42)``, hence it calls ``op_set`` function of a variable reference ``:"
msgstr ""
"Kink の演算子は、関数呼び出しなど他の式の構文糖です。代入も例外ではありませ"
"ん。 ``:Num = 42`` は単に ``:Num.op_set(42)`` と解釈され、変数参照 ``:"
"Num`` の ``op_set`` 関数が呼び出されます。"

# ca5bbac820b049a8b7bdf8c3bf5da145
#: ../../../../src/doc/characteristics.rst:157
msgid ""
"You can set multiple variables at once using ``=`` operator. It is performed "
"by ``op_set`` function of a list which contains variable references."
msgstr ""
"``=`` 演算子を使って複数の変数に同時に値を代入することもできます。これは、変"
"数参照を要素に持つリストの ``op_set`` 関数を呼び出すことで行います。"

# d3229b2d1ce446a8ac1bda134828ff97
#: ../../../../src/doc/characteristics.rst:168
msgid ""
"The interpreter performs special optimization for common types of "
"assignment, but you don't have to mind it because it is done transparently."
msgstr ""

# 06bb621e08104620bdcca280fc4da318
#: ../../../../src/doc/characteristics.rst:172
msgid "Tail call elimination"
msgstr "末尾呼び出しの最適化"

# 52972b6548f44bff87b09a74508c25bd
#: ../../../../src/doc/characteristics.rst:173
msgid ""
"Like Scheme and other variants of LISP, the Kink interpreter does tail call "
"elimination. Thus you can implement a loop by a recursive call at the end of "
"a function, without stack overflow."
msgstr ""
"Scheme その他の LISP 変種と同じように、 Kink のインタプリタは末尾呼び出しの最"

# 29fbc07a1544410f84e8c5e4bed5b05f
#: ../../../../src/doc/characteristics.rst:192
msgid ""
"In most cases you can use functions of lists or sequences instead of "
"implementing tail recursion. The above example can be written simply as "
"``100.down.while { \\0 >= 0 } .loop($printline)``."
msgstr ""
"スの関数が使えます。たとえば上記の例は、単純に ``100.down.while { \\0 >= "
"0 } .loop($printline)`` と書けます。"

# b2e0613085da43aebd8c259164df7a27
#: ../../../../src/doc/characteristics.rst:197
msgid ""
"However, tail call elimination is useful for more complex cases, such as a "
"state machine. For example, think about a filter which eliminates characters "
"after \"#\" sign as a comment on each line. It can be represented as the "
"following state machine."
msgstr ""
"末尾呼び出しの最適化が有用です。たとえば、入力の各行から、 \"#\" 以降をコメン"

# bb1ac0370a8e4efd8b5e3e82b80206d8
#: ../../../../src/doc/characteristics.rst:212
msgid ""
"The state machine can be implemented straightforwardly assigning each state "
"as a function, and each state transition as a function call. This program "
"never cause a stack overflow even if the input string is long, because each "
"call of ``initial`` and ``in_comment`` is a tail call, thus it does not "
"lengthen the call stack."
msgstr ""
"れることはありません。なぜなら、 ``initial`` 関数と ``in_comment`` 関数の呼び"