[perldocjp-cvs 1504] CVS update: docs/articles/qntm.org/files/perl

Back to archive index

ktats****@users***** ktats****@users*****
2012年 8月 5日 (日) 13:09:34 JST


Index: docs/articles/qntm.org/files/perl/perl.html
diff -u docs/articles/qntm.org/files/perl/perl.html:1.1 docs/articles/qntm.org/files/perl/perl.html:1.2
--- docs/articles/qntm.org/files/perl/perl.html:1.1	Sun Aug  5 04:24:08 2012
+++ docs/articles/qntm.org/files/perl/perl.html	Sun Aug  5 13:09:34 2012
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 	<head>
 		<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
-		<title>Perl</title>
+		<title>2時間半で学ぶPerl</title>
 
 		<style type="text/css">
 			body {
@@ -104,8 +104,8 @@
 
 <h3>スカラ変数</h3>
 
-<p>A scalar variable can contain:</p>
-<p class=original>スカラ変数は以下のものを格納できます:</p>
+<p class=original>A scalar variable can contain:</p>
+<p>スカラ変数は以下のものを格納できます:</p>
 <ul class=original>
 	<li><tt>undef</tt> (corresponds to <tt>None</tt> in Python, <tt>null</tt> in PHP)</li>
 	<li>a number (Perl does not distinguish between an integer and a float)</li>
@@ -119,7 +119,7 @@
 	<li>他の変数へのリファレンス</li>
 </ul>
 
-<pre class="perl">
+<pre class="perl original">
 my $undef = undef;
 print $undef; # warning
 
@@ -129,6 +129,15 @@
 </pre>
 
 <pre class="perl">
+my $undef = undef;
+print $undef; # warning
+
+# implicit undef:
+my $undef2;
+print $undef2; # まったく同じwarning
+</pre>
+
+<pre class="perl">
 my $num = 4040.5;
 print $num; # "4040.5"
 </pre>
@@ -139,7 +148,7 @@
 </pre>
 
 <p class=original>(References are coming up shortly.)</p>
-<p>(リファレンスは後で説明するので簡単に)</p>
+<p>(リファレンスは後で説明します)</p>
 
 <p class=original>String concatenation using the <tt>.</tt> operator (same as PHP):</p>
 <p>文字列の連結には<tt>.</tt>演算子を使います(PHPと同じ):</p>
@@ -443,7 +452,7 @@
 <p class=original>The same is true whether the fat comma is used or not:</p>
 <p>ファットカンマを使っていてもいなくても同じく真です:</p>
 
-<pre class="perl">
+<pre class="perl original">
 my %hash = (
 	"beer" =&gt; "good",
 	"bananas" =&gt; (
@@ -463,8 +472,29 @@
 print $hash{"bananas"}{"yellow"}; # error
 </pre>
 
+<pre class="perl">
+my %hash = (
+	"beer" =&gt; "good",
+	"bananas" =&gt; (
+		"green"  =&gt; "wait",
+		"yellow" =&gt; "eat",
+	),
+);
+
+# 上のコードはwarningが出ます。ハッシュが7つの要素のリストで宣言されているからです。
+
+print $hash{"beer"};    # "good"
+print $hash{"bananas"}; # "green"
+print $hash{"wait"};    # "yellow";
+print $hash{"eat"};     # undef, そのため、警告がでます
+
+print $hash{"bananas"}{"green"};  # error
+print $hash{"bananas"}{"yellow"}; # error
+</pre>
+
+
 <p class=original>More on this shortly.</p>
-<p>More on this shortly.</p>
+<p>詳細は後ほど。</p>
 
 <h2>コンテキスト</h2>
 
@@ -556,15 +586,14 @@
 <p>ですが, スカラ変数は、配列変数やハッシュ変数を含む、他の変数への<i>リファレンス</i>を持てます。これが、Perlでより複雑なデータ構造を作る方法です。</p>
 
 <p class=original>A reference is created using a backslash.</p>
-<p>リファレンスはバックスラッシュを使って作られます。/p>
+<p>リファレンスはバックスラッシュを使って作られます。</p>
 <pre class="perl">
 my $colour    = "Indigo";
 my $scalarRef = \$colour;
 </pre>
 
 <p class=original>Any time you would use the name of a variable, you can instead just put some braces in, and, within the braces, put a <em>reference</em> to a variable instead.</p>
-<p>いつでも、変数の名前を使えます。代わりにブレースを置いて、ブレース内に変数への<em>リファレンス</em>を置きます。
-</p>
+<p>いつでも、変数の名前を使えます。代わりにブレースを置いて、ブレース内に変数への<em>リファレンス</em>を置きます。</p>
 <pre class="perl">
 print $colour;         # "Indigo"
 print $scalarRef;      # e.g. "SCALAR(0x182c180)"
@@ -579,7 +608,7 @@
 </pre>
 
 <p class=original>If your reference is a reference to an array or hash variable, you can get data out of it using braces or using the more popular arrow operator, <tt>-&gt;</tt>:</p>
-<p>リファレンスが配列かハッシュ変数のリファレンスの場合、ブレースかより一般的なアロー演算子、<tt>-&gt;</tt>を使ってデータを取り出せます。:</p>
+<p>リファレンスが配列かハッシュ変数のリファレンスの場合、ブレースかより一般的なアロー演算子、<tt>-&gt;</tt>を使ってデータを取り出せます:</p>
 
 <pre class="perl">
 my @colours = ("Red", "Orange", "Yellow", "Green", "Blue");
@@ -929,15 +958,16 @@
 }
 </pre>
 
-<p>Since a hash has no underlying order, the keys may be returned in any order. Use the <tt>sort</tt> built-in function to sort the array of keys alphabetically beforehand:</p>
+<p class=original>Since a hash has no underlying order, the keys may be returned in any order. Use the <tt>sort</tt> built-in function to sort the array of keys alphabetically beforehand:</p>
+<p>ハッシュには順番がありませんので、keysはどのような順番でも戻ります。組込の<tt>sort</tt>関数を使って、アルファベット順でキーの配列をソートできます:</p>
 <pre class="perl">
 foreach my $key (sort keys %scientists) {
 	print $key, ": ", $scientists{$key};
 }
 </pre>
 
-<p>There is also a special <tt>each</tt> built-in function which retrieves key/value pairs one at a time. Every time <tt>each</tt> is called, it returns an array containing two values, until the end of the array is reached, when a false value is returned. We assign the values of two scalars to the values of the array, simultaneously:</p>
-<p class=original>特別な組込関数<tt>each</tt>もあり、これは、キー/値のペアを一度にひとつ取り出します。<tt>each</tt>が呼ばれるたびに、配列の最後に至るまで、偽の値が戻るまで、2つの値をもつ配列を返します。配列の値を2つのスカラに、同時に割り当てます:</p>
+<p class=original>There is also a special <tt>each</tt> built-in function which retrieves key/value pairs one at a time. Every time <tt>each</tt> is called, it returns an array containing two values, until the end of the array is reached, when a false value is returned. We assign the values of two scalars to the values of the array, simultaneously:</p>
+<p>特別な組込関数<tt>each</tt>もあり、これは、キー/値のペアを一度にひとつ取り出します。<tt>each</tt>が呼ばれるたびに、配列の最後に至るまで、偽の値が戻るまで、2つの値をもつ配列を返します。配列の値を2つのスカラに、同時に割り当てます:</p>
 
 <pre class="perl">
 while( my ($key, $value) = each %scientists ) {
@@ -1019,8 +1049,8 @@
 print @stack; # "HankGraceEileenDeniseBobAlice"
 </pre>
 
-<p><tt>pop</tt>, <tt>push</tt>, <tt>shift</tt> and <tt>unshift</tt> are all special cases of <tt>splice</tt>. <tt>splice</tt> removes and returns an array slice, replacing it with a different array slice:</p>
-<p class=original><tt>pop</tt>、<tt>push</tt>、 <tt>shift</tt>、<tt>unshift</tt> は、全て、<tt>splice</tt>の特別なケースです。<tt>splice</tt> は、配列のスライスを削除して、返します。別の配列スライスでそれを置き換えます:</p>
+<p class=original><tt>pop</tt>, <tt>push</tt>, <tt>shift</tt> and <tt>unshift</tt> are all special cases of <tt>splice</tt>. <tt>splice</tt> removes and returns an array slice, replacing it with a different array slice:</p>
+<p><tt>pop</tt>、<tt>push</tt>、 <tt>shift</tt>、<tt>unshift</tt> は、全て、<tt>splice</tt>の特別なケースです。<tt>splice</tt> は、配列のスライスを削除して、返します。別の配列スライスでそれを置き換えます:</p>
 <pre class="perl">
 print splice(@stack, 1, 4, "&lt;&lt;&lt;", "&gt;&gt;&gt;"); # "GraceEileenDeniseBob"
 print @stack;                             # "Hank&lt;&lt;&lt;&gt;&gt;&gt;Alice"



perldocjp-cvs メーリングリストの案内
Back to archive index