ホーム
おまかせ表示
ログイン
設定
寄付
ウィキブックスについて
免責事項
検索
「Perl/ライブラリ・モジュールとオブジェクト指向」の変更履歴
本文
議論
このページの記録を表示
(
不正利用記録を閲覧
)
版の絞り込み
開く
折り畳む
この日まで:
タグ
絞り込み:
2017年版ソースエディター
blanking
discussiontools-added-comment(隠しタグ)
discussiontools-source-enhanced(隠しタグ)
discussiontools-source(隠しタグ)
discussiontools-visual(隠しタグ)
discussiontools(隠しタグ)
meta spam id
SWViewer [1.2]
SWViewer [1.3]
SWViewer [1.4]
SWViewer [1.6]
wikieditor(隠しタグ)
ビジュアルエディター
ビジュアルエディター: 中途切替
モバイルウェブ編集
モバイル編集
リダイレクト解除
一斉メッセージ配信
取り消し
差し戻し済み
巻き戻し
手動差し戻し
改良版モバイル編集
新規トピック
新規リダイレクト
白紙化
絵文字
置換
転送先変更
返信
選択した名前空間を隠す
更新を表示
凡例:(最新版)= 最新版との比較、(前の版)= 直前の版との比較、M = 細部の編集
(
最新
|
最古
) (
以後の50件
|
以前の50件
) (
20
|
50
|
100
|
250
|
500
件) を表示
2024年3月3日 (日)
最新
前
11:15
2024年3月3日 (日) 11:15
Ef3
トーク
投稿記録
56,757 バイト
−9
編集の要約なし
取り消し
タグ
:
2017年版ソースエディター
2023年7月3日 (月)
最新
前
22:55
2023年7月3日 (月) 22:55
Ef3
トーク
投稿記録
56,766 バイト
−46
→オブジェクト指向版
:
Fix for 5.38.0
取り消し
タグ
:
2017年版ソースエディター
2022年11月22日 (火)
最新
前
14:50
2022年11月22日 (火) 14:50
Ef3
トーク
投稿記録
56,812 バイト
+317
→Perlとオブジェクト指向
:
Apply perltidy
取り消し
タグ
:
2017年版ソースエディター
最新
前
14:29
2022年11月22日 (火) 14:29
Ef3
トーク
投稿記録
56,495 バイト
−97
→オブジェクト指向版
:
Apply perltidy
取り消し
タグ
:
2017年版ソースエディター
最新
前
00:53
2022年11月22日 (火) 00:53
Ef3
トーク
投稿記録
56,592 バイト
+3,548
→Mix-in
:
Test::Moreモジュールによる回帰テストを用意しました。
取り消し
タグ
:
2017年版ソースエディター
2022年11月21日 (月)
最新
前
04:41
2022年11月21日 (月) 04:41
Ef3
トーク
投稿記録
53,044 バイト
−1,814
→Mix-in
:
組込み関数 each を使った実装に変更。
取り消し
タグ
:
2017年版ソースエディター
最新
前
01:34
2022年11月21日 (月) 01:34
Ef3
トーク
投稿記録
54,858 バイト
+2,808
→Mix-in
:
ユーティリティ関数追加
取り消し
タグ
:
2017年版ソースエディター
2022年11月20日 (日)
最新
前
23:53
2022年11月20日 (日) 23:53
Ef3
トーク
投稿記録
52,050 バイト
+1,514
→Mix-in
:
ユニバーサルな値型 Values を導入、コードブロックの引数に $index を追加。
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:45
2022年11月20日 (日) 10:45
Ef3
トーク
投稿記録
50,536 バイト
−14
→Mix-in
:
CBの省略の方法をより汎用的なものに変更
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:29
2022年11月20日 (日) 10:29
Ef3
トーク
投稿記録
50,550 バイト
+1,284
→Mix-in
:
ラムダ式の省略に対応
取り消し
タグ
:
2017年版ソースエディター
最新
前
09:07
2022年11月20日 (日) 09:07
Ef3
トーク
投稿記録
49,266 バイト
+3,442
→Mix-in
:
Perlの多重継承では、2つ以上のコンストラクターを呼出すスマートな方法がないので、片方はコンストラクターを用意せず、メソッドセットとして実装することとなり、実質的に Mix-in になります。Array と Hash は、iterator メソッドだけ実装して、each メソッドや map メソッドは、共通祖先の Enumable で実装しています。 Enumable は、コンストラクターを持たないクラスで、インスタンス化することはなく繰返しを行うメソッドだけを提供しています。 メソッドセットを合成するクラス間の関係を、Mix-inといいます。
取り消し
タグ
:
2017年版ソースエディター
2022年11月19日 (土)
最新
前
00:21
2022年11月19日 (土) 00:21
Ef3
トーク
投稿記録
45,824 バイト
+223
→オブジェクト指向版
:
abs は、単項演算子でもあるのでメソッド版と演算子版の2つを用意しました。
取り消し
タグ
:
2017年版ソースエディター
2022年11月10日 (木)
最新
前
07:10
2022年11月10日 (木) 07:10
Ef3
トーク
投稿記録
45,601 バイト
+1,552
→@ISA
:
多重継承のコードを肉付け。new で SUPERを使うと筆頭基底クラスしか初期化されないのはどうしよう。blass済みのインスタンスをblassすると事故りそう。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:56
2022年11月10日 (木) 05:56
Ef3
トーク
投稿記録
44,049 バイト
+320
→@ISA
:
基底クラスの new を真面目に実装
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:40
2022年11月10日 (木) 05:40
Ef3
トーク
投稿記録
43,729 バイト
−13
→コンストラクター
:
これは、間接オブジェクト文法( indirect object notation )という構文ですが、'''v5.36で廃止されました'''。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:32
2022年11月10日 (木) 05:32
Ef3
トーク
投稿記録
43,742 バイト
−1,318
→標準モジュール
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:21
2022年11月10日 (木) 05:21
Ef3
トーク
投稿記録
45,060 バイト
+1,234
→baseプラグマ
:
base プラグマは2022年11月現在、非推奨とされ parent プラグマの使用が推奨されています。少なくとも base は多重継承に対応していません。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:54
2022年11月10日 (木) 04:54
Ef3
トーク
投稿記録
43,826 バイト
+1,879
→@ISA
:
単純継承/多重継承/ダイアモンド継承のコード例追加
取り消し
タグ
:
2017年版ソースエディター
2022年11月8日 (火)
最新
前
05:22
2022年11月8日 (火) 05:22
Ef3
トーク
投稿記録
41,947 バイト
−54
→包含と継承
:
Fix bug
取り消し
タグ
:
2017年版ソースエディター
最新
前
02:29
2022年11月8日 (火) 02:29
Ef3
トーク
投稿記録
42,001 バイト
+435
→脚註
:
use overload '""' => sub ($self, $p, $q) { "x:$self->{x}, y:$self->{y}" };
取り消し
タグ
:
2017年版ソースエディター
最新
前
02:07
2022年11月8日 (火) 02:07
Ef3
トーク
投稿記録
41,566 バイト
+1,478
コンストラクターなどの説明を、現実に使われているコードを使って説明。
取り消し
タグ
:
2017年版ソースエディター
最新
前
00:55
2022年11月8日 (火) 00:55
Ef3
トーク
投稿記録
40,088 バイト
+236
→オブジェクト指向版
:
use overload '""' => sub($self, $p, $q) { "Point($self->{x}, $self->{y})" };は、文字列化演算子を演算子オーバーロードしています。
取り消し
タグ
:
2017年版ソースエディター
2022年11月7日 (月)
最新
前
22:08
2022年11月7日 (月) 22:08
Ef3
トーク
投稿記録
39,852 バイト
+45
→完全修飾形式
:
s/完全修飾形/完全修飾形式/6
取り消し
タグ
:
2017年版ソースエディター
最新
前
22:01
2022年11月7日 (月) 22:01
Ef3
トーク
投稿記録
39,807 バイト
+1,901
→オブジェクト指向版
:
オブジェクト指向のモジュール実装の例です。 package をクラスとして使っているので、Exporter の出番はなく、完全修飾形が基本になります。 呼出し元のパッケージ(典型的には main::)の名前空間を汚染しないのがよいです。
取り消し
タグ
:
2017年版ソースエディター
最新
前
02:34
2022年11月7日 (月) 02:34
Ef3
トーク
投稿記録
37,906 バイト
+2,673
→モジュールの作成
:
オブジェクト指向でないモジュール実装の例です。 モジュールの拡張子は .pm (Perl Modules)で、モジュール階層の区切り :: をファイルシステムのディレクトセパレーターに置き換えたものがパスになります。: モジュールは package として実装します。 コンパイル単位を超えて識別子をエキスポートするには Exporter モジュールを使います。
取り消し
タグ
:
2017年版ソースエディター
最新
前
01:04
2022年11月7日 (月) 01:04
Ef3
トーク
投稿記録
35,233 バイト
+2,437
→特殊ブロック
取り消し
タグ
:
2017年版ソースエディター
2022年11月6日 (日)
最新
前
06:42
2022年11月6日 (日) 06:42
Ef3
トーク
投稿記録
32,796 バイト
+238
→Perl のオブジェクト指向の特徴
:
クラスベースのオブジェクト指向 クラスは、package 構文の拡張 コンストラクターの中核は bless 関数 @ISA による継承機構 単純継承だけでなく多重継承をサポート overload モジュールを使うことで演算子オーバーロードが可能
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:53
2022年11月6日 (日) 04:53
Ef3
トーク
投稿記録
32,558 バイト
+320
→プラグマ
:
use v5.12 以降は strict が<ref>[https://perldoc.jp/docs/perl/5.12.1/perl5120delta.pod#Unicode32improvements 暗黙のstrict]</ref>、 use v5.36 以降は、warnings がディフォルトで有効です<ref>[https://perldoc.jp/docs/perl/5.36.0/perl5360delta.pod#use32v5.36 use v5.36]</ref>
取り消し
タグ
:
2017年版ソースエディター
最新
前
02:31
2022年11月6日 (日) 02:31
Ef3
トーク
投稿記録
32,238 バイト
+3,044
→移植例
:
→包含と継承
:
JavaScript/クラス#包含と継承を、Rubyに移植したコードを OOPerl に移植しました。
取り消し
タグ
:
2017年版ソースエディター
2022年11月5日 (土)
最新
前
22:57
2022年11月5日 (土) 22:57
Ef3
トーク
投稿記録
29,194 バイト
+1,345
→特殊ブロック
:
Perlも、awk の BEGIN, END のように特定のタイミングで実行されるブロックを定義できます。
→デストラクター
:
オブジェクトへの最後の参照がなくなると、そのオブジェクトは破棄されます。 * レキシカルスカラー変数(1つだけ)にオブジェクトへの参照が束縛されている場合、その変数がスコープを出たときにオブジェクトが破棄されます。 * パッケージグローバル変数にオブジェクトへの参照が束縛されている場合、(その変数に別の値が入りでもしな限り)プログラム終了までオブジェクトは破棄されません。 このオブジェクトが「破棄」されるサブルーチンがデストラクターです。
→DESTROY
:
デストラクターは、DESTROY と言う名前です(new と異なり DESTROY 固定です)。 DESTROY メソッドはいつでも呼び出すことができるので、 DESTROY メソッドで行う何かによって設定されるかもしれないグローバルなステータス変数をローカル化しなければいけません。
取り消し
タグ
:
2017年版ソースエディター
最新
前
08:12
2022年11月5日 (土) 08:12
Ef3
トーク
投稿記録
27,849 バイト
−155
→our
:
ourで宣言された変数は、パッケージ変数です。パッケージ変数はグローバル変数ですが、パッケージに属しています。 our宣言の場所のスコープでしか単純な名前での参照はできませんが、::をつかった完全修飾形であれば、ourのスコープの外からも参照できます。
取り消し
タグ
:
2017年版ソースエディター
最新
前
06:29
2022年11月5日 (土) 06:29
Ef3
トーク
投稿記録
28,004 バイト
+2,434
→パッケージ
:
Perl4までは、全ての変数は動的で単一のグローバルな名前空間に存在していました。 これは丁度 BASIC と同じ状況で、識別子の衝突の回避がプログラミングの大きなテーマでした。 この問題を解決するためにPerl5では vars プラグマや our キーワードを使って公開される名前空間付きグローバル変数 my や state で宣言されたレキシカルスコープ変数 が導入されました。 グローバル変数は、名前空間の一部とみなされ、「完全修飾形」( fully qualified form )でアクセスできます。 逆に、レキシカルスコープ変数は、そのレキシカルスコープの一部とみなされ、「完全修飾形」を持ちません。 完全修飾形 名前空間::識別子 Perl の名前空間は「パッケージ」と呼ばれ、package 宣言は変数や非限定動的名の前にどの名前空間を付けるかを決めます。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:40
2022年11月5日 (土) 05:40
Ef3
トーク
投稿記録
25,570 バイト
+226
→Perlとオブジェクト指向
:
package にブロックを導入。signaturesを導入。
取り消し
タグ
:
2017年版ソースエディター
最新
前
01:34
2022年11月5日 (土) 01:34
Ef3
トーク
投稿記録
25,344 バイト
+879
→Perlとオブジェクト指向
:
Perl のオブジェクト指向はクラスベースですが、キーワードに class はなく、キーワード <code>package</code> などを使う独特の構文です。
取り消し
タグ
:
2017年版ソースエディター
2022年11月2日 (水)
最新
前
06:48
2022年11月2日 (水) 06:48
Ef3
トーク
投稿記録
24,465 バイト
+247
{{先頭に戻る}};プラグマは、Perl のコンパイル時や実行時の動作に影響を与えるモジュールです。 strict や warnings のように、Perl のコンパイル時や実行時の動作に影響を与えるモジュールです。 Perl 5.10 からは、ユーザーもプラグマを定義できるようになりました。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:22
2022年11月2日 (水) 04:22
Ef3
トーク
投稿記録
24,218 バイト
−20
→モジュールとオブジェクト指向
取り消し
タグ
:
2017年版ソースエディター
2022年11月1日 (火)
最新
前
00:48
2022年11月1日 (火) 00:48
Ef3
トーク
投稿記録
24,238 バイト
+15,765
s/標準ライブラリ/標準モジュール/
取り消し
タグ
:
2017年版ソースエディター
2022年10月30日 (日)
最新
前
23:14
2022年10月30日 (日) 23:14
Ef3
トーク
投稿記録
8,473 バイト
+24
→実用Perl
:
<noinclude>
取り消し
タグ
:
2017年版ソースエディター
2021年12月11日 (土)
最新
前
01:49
2021年12月11日 (土) 01:49
Ef3
トーク
投稿記録
8,449 バイト
+1
編集の要約なし
取り消し
タグ
:
2017年版ソースエディター
2021年11月17日 (水)
最新
前
15:18
2021年11月17日 (水) 15:18
すじにくシチュー
トーク
投稿記録
8,448 バイト
+144
syntaxhighlight
取り消し
2020年6月4日 (木)
最新
前
05:15
2020年6月4日 (木) 05:15
すじにくシチュー
トーク
投稿記録
8,304 バイト
+301
編集の要約なし
取り消し
2018年11月8日 (木)
最新
前
05:06
2018年11月8日 (木) 05:06
Naggy Nagumo
トーク
投稿記録
M
8,003 バイト
+7
編集の要約なし
取り消し
2017年7月2日 (日)
最新
前
16:00
2017年7月2日 (日) 16:00
Holishix
トーク
投稿記録
7,996 バイト
+19
編集の要約なし
取り消し
2016年4月13日 (水)
最新
前
13:16
2016年4月13日 (水) 13:16
219.106.0.210
トーク
7,977 バイト
+54
→warnings
取り消し
2009年3月10日 (火)
最新
前
18:47
2009年3月10日 (火) 18:47
Senseequal
トーク
投稿記録
7,923 バイト
+2,457
→Perlとオブジェクト指向
取り消し
2009年3月6日 (金)
最新
前
12:12
2009年3月6日 (金) 12:12
Senseequal
トーク
投稿記録
5,466 バイト
+1,827
編集の要約なし
取り消し
2007年11月26日 (月)
最新
前
19:15
2007年11月26日 (月) 19:15
Kanjy
トーク
投稿記録
M
3,639 バイト
+161
+cat
取り消し
2007年1月4日 (木)
最新
前
06:16
2007年1月4日 (木) 06:16
CoE
トーク
投稿記録
M
3,478 バイト
0
Perl ライブラリ・モジュールとオブジェクト指向 を Perl/ライブラリ・モジュールとオブジェクト指向 へ移動: サブページに移行
取り消し
2006年8月20日 (日)
最新
前
00:00
2006年8月20日 (日) 00:00
210.170.214.125
トーク
3,478 バイト
+276
オブジェクトに関する事項の追加
取り消し
2005年6月11日 (土)
最新
前
16:10
2005年6月11日 (土) 16:10
こいつぅ~jawikibooks
トーク
投稿記録
M
3,202 バイト
+27
→オブジェクト指向Perlの記述例
:
fix:code
取り消し
(
最新
|
最古
) (
以後の50件
|
以前の50件
) (
20
|
50
|
100
|
250
|
500
件) を表示