ホーム
おまかせ表示
ログイン
設定
寄付
ウィキブックスについて
免責事項
検索
「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年4月4日 (木)
最新
前
22:26
2024年4月4日 (木) 22:26
Ef3
トーク
投稿記録
135,825 バイト
+1,371
→unpack
:
Perlのunpack関数は、指定されたフォーマットに従ってバイナリ文字列をアンパックしてデータを取得します。主にバイナリデータを処理する際に使用されます。以下は、unpack関数の基本的な使用例と一般的なフォーマット指定子の一部です。
取り消し
タグ
:
2017年版ソースエディター
最新
前
22:04
2024年4月4日 (木) 22:04
Ef3
トーク
投稿記録
134,454 バイト
+1,641
→pack
:
pack関数は、指定されたフォーマットに従ってデータをバイナリ文字列にパックします。主にバイナリデータを処理する際に使用されます。以下は、pack関数の基本的な使用例と一般的なフォーマット指定子の一部です。
取り消し
タグ
:
2017年版ソースエディター
2024年4月2日 (火)
最新
前
23:28
2024年4月2日 (火) 23:28
Ef3
トーク
投稿記録
132,813 バイト
+207
→組込み関数
:
Perlの言語コアで予め定義されている関数のことを「組込み関数」と呼びます。print、length、substrなどの一般的な関数から、my、use、doなどのキーワード的な構文要素に至るまで、広くPerl自身に組み込まれた関数がこれに当てはまります。
取り消し
タグ
:
2017年版ソースエディター
最新
前
23:17
2024年4月2日 (火) 23:17
Ef3
トーク
投稿記録
132,606 バイト
+171
→関数とは
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:09
2024年4月2日 (火) 05:09
Ef3
トーク
投稿記録
132,435 バイト
+1,624
→ハッシュ操作
:
delete, each, exists, keys, values Perlにおけるハッシュ(連想配列)の操作について説明します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:04
2024年4月2日 (火) 05:04
Ef3
トーク
投稿記録
130,811 バイト
+2,379
→リスト操作
:
grep, join, map, qw//, reverse, sort, unpack Perlにおけるリスト操作に関する関数や演算子について解説します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:56
2024年4月2日 (火) 04:56
Ef3
トーク
投稿記録
128,432 バイト
+2,020
→配列操作
:
each, keys, pop, push, shift, splice, unshift, values これらの関数は、Perlで配列を操作するための組み込み関数です。以下にそれぞれの関数を説明します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:50
2024年4月2日 (火) 04:50
Ef3
トーク
投稿記録
126,412 バイト
+2,230
→数値演算関数
:
abs, atan2, cos, exp, hex, int, log, oct, rand, sin, sqrt, srand これらの関数はPerlで数学的な操作を行うための組み込み関数です。以下にそれぞれの関数を簡単に説明します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:42
2024年4月2日 (火) 04:42
Ef3
トーク
投稿記録
124,182 バイト
+3,143
→正規表現とパターンマッチ
:
Perlには、テキスト処理やパターンマッチングに役立つ様々な機能が備わっています。 以下では、それぞれの機能について解説します。
取り消し
タグ
:
2017年版ソースエディター
2022年11月20日 (日)
最新
前
01:41
2022年11月20日 (日) 01:41
Ef3
トーク
投稿記録
121,039 バイト
+2,095
→chop
:
chop は、文字列を末尾から喰います(破壊的) chomp は、文字列の末尾の改行を喰います(破壊的)
取り消し
タグ
:
2017年版ソースエディター
2022年11月19日 (土)
最新
前
11:19
2022年11月19日 (土) 11:19
Ef3
トーク
投稿記録
118,944 バイト
+586
→サブルーチン
:
コード例を更新
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:34
2022年11月19日 (土) 10:34
Ef3
トーク
投稿記録
118,358 バイト
+944
→reverse
:
リストコンテキストでは LIST の順番を逆順にしたリストを返します。スカラーコンテキストでは LIST の要素を結合した後に逆順にした文字列を返します。 Perlの文字列はディフォルトではバイトシーケンスなのでバイト逆順にすると多バイト文字は破綻し、上記のように文字化けします。 use utf8;で、バイトシーケンスから内部エンコーディング( Wide character )に切替えることができますが、このまま say すると内部エンコーディングのままなので、標準出力のレイヤーを ":encoding(UTF-8)" に変更します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:12
2022年11月19日 (土) 10:12
Ef3
トーク
投稿記録
117,414 バイト
+6
→say関数
:
use strict; use warnings; use utf8; binmode STDOUT,":encoding(UTF-8)"; use feature "say"; use feature ':5.10'; use v5.10; say "Hello"; say "Yes!"; say "Boodbye"; my $message = "こんにちは"; say $message;
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:10
2022年11月19日 (土) 10:10
Ef3
トーク
投稿記録
117,408 バイト
0
→基本的な関数
:
s/文末で改行/行末で改行/2
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:08
2022年11月19日 (土) 10:08
Ef3
トーク
投稿記録
117,408 バイト
+673
→関数
:
Perlの「関数」は、与えられた値に基づいて定義された独自の処理を実行し、その結果を返す一塊のコードのことです。 英語では関数のことを ''function'' と呼び、「機能」と訳すことができます。
取り消し
タグ
:
2017年版ソースエディター
2022年11月18日 (金)
最新
前
08:17
2022年11月18日 (金) 08:17
Ef3
トーク
投稿記録
116,735 バイト
+485
→無名再帰
:
サブルーチン自身へのリファレンス __SUB__ を使うと無名関数の再帰ができます。
取り消し
タグ
:
2017年版ソースエディター
2022年11月17日 (木)
最新
前
04:41
2022年11月17日 (木) 04:41
Ef3
トーク
投稿記録
116,250 バイト
+123
→index
:
例を更新
取り消し
タグ
:
2017年版ソースエディター
2022年11月16日 (水)
最新
前
02:39
2022年11月16日 (水) 02:39
Ef3
トーク
投稿記録
116,127 バイト
+50
→split関数
:
例を更新
取り消し
タグ
:
2017年版ソースエディター
2022年11月15日 (火)
最新
前
12:16
2022年11月15日 (火) 12:16
Ef3
トーク
投稿記録
116,077 バイト
+640
→文字列:String
取り消し
タグ
:
2017年版ソースエディター
最新
前
11:31
2022年11月15日 (火) 11:31
Ef3
トーク
投稿記録
115,437 バイト
+63
→rindex
:
say qq(rindex "$str", "$substr" -> @{[rindex $str, $substr]});
取り消し
タグ
:
2017年版ソースエディター
最新
前
11:31
2022年11月15日 (火) 11:31
Ef3
トーク
投稿記録
115,374 バイト
+440
→substr
:
binmode STDOUT,":encoding(UTF-8)";
取り消し
タグ
:
2017年版ソースエディター
最新
前
11:21
2022年11月15日 (火) 11:21
Ef3
トーク
投稿記録
114,934 バイト
−71
→rindex
:
binmode STDOUT,":encoding(UTF-8)";
取り消し
タグ
:
2017年版ソースエディター
最新
前
11:13
2022年11月15日 (火) 11:13
Ef3
トーク
投稿記録
115,005 バイト
−31
→index
:
s/utf8モジュール/utf8プラグマ/
取り消し
タグ
:
2017年版ソースエディター
最新
前
08:59
2022年11月15日 (火) 08:59
Ef3
トーク
投稿記録
115,036 バイト
+971
→utf8モジュールを使う
:
→binmodeを使う
取り消し
タグ
:
2017年版ソースエディター
最新
前
08:04
2022年11月15日 (火) 08:04
Ef3
トーク
投稿記録
114,065 バイト
+29
組込み関数の一覧は最後に
取り消し
タグ
:
2017年版ソースエディター
最新
前
07:24
2022年11月15日 (火) 07:24
Ef3
トーク
投稿記録
114,036 バイト
+1,049
→サブルーチン宣言
:
サブルーチンの定義より先にサブルーチンを呼出す必要があることがあります(典型的には、お互いに呼び合う関数)。 この場合は、呼出ごとに & を前置するか、サブルーチン宣言をサブルーチン呼出の前にします。
取り消し
タグ
:
2017年版ソースエディター
2022年11月14日 (月)
最新
前
23:59
2022年11月14日 (月) 23:59
Ef3
トーク
投稿記録
112,987 バイト
+63
→永続的スコープのレキシカル変数
:
highlight="6"
取り消し
タグ
:
2017年版ソースエディター
最新
前
23:54
2022年11月14日 (月) 23:54
Ef3
トーク
投稿記録
112,924 バイト
+3,330
→フィボナッチ数列とメモ化とベンチマーク
:
再帰で必ず取上げられるフィボナッチ数列とメモ化を題材に、ベンチマークテストを行ってみようと思います。
取り消し
タグ
:
2017年版ソースエディター
最新
前
22:16
2022年11月14日 (月) 22:16
Ef3
トーク
投稿記録
109,594 バイト
+779
→整数を3桁ごとにカンマで区切って表示する
:
整数を3桁ごとにカンマで区切って表示するサブルーチン comma3 を書いてみました。
取り消し
タグ
:
2017年版ソースエディター
最新
前
14:36
2022年11月14日 (月) 14:36
Ef3
トーク
投稿記録
108,815 バイト
+25
→整数の冪乗
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:51
2022年11月14日 (月) 10:51
Ef3
トーク
投稿記録
108,790 バイト
+247
→map を模倣
:
組込み関数 sort の様に、$a でコードブロックに引数を渡すこともできるようにしました。
取り消し
タグ
:
2017年版ソースエディター
最新
前
10:47
2022年11月14日 (月) 10:47
Ef3
トーク
投稿記録
108,543 バイト
+1,200
→filter
:
組込み関数に grep は、多くの言語で filter の名前で知られる関数です。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:37
2022年11月14日 (月) 05:37
Ef3
トーク
投稿記録
107,343 バイト
+857
→reduce
:
組込み関数に reduce がなかったので実装しました。組込み関数 sort の様に、$a と $b でコードブロックに引数を渡すこともできるようにしました。
取り消し
タグ
:
2017年版ソースエディター
最新
前
00:47
2022年11月14日 (月) 00:47
Ef3
トーク
投稿記録
106,486 バイト
+592
→map を模倣
:
組込み関数 map を模倣したサブルーチン mapx を実装します。
取り消し
タグ
:
2017年版ソースエディター
最新
前
00:01
2022年11月14日 (月) 00:01
Ef3
トーク
投稿記録
105,894 バイト
+725
→プロトタイプ
:
→ラムダ抽象
:
sort のように、コードブロックを引数とするサブルーチンを考えてみましょう。
取り消し
タグ
:
2017年版ソースエディター
2022年11月11日 (金)
最新
前
11:42
2022年11月11日 (金) 11:42
Ef3
トーク
投稿記録
105,169 バイト
+32
→組込み関数一覧
:
外部リンク誤り
取り消し
タグ
:
2017年版ソースエディター
2022年11月8日 (火)
最新
前
02:57
2022年11月8日 (火) 02:57
Ef3
トーク
投稿記録
105,137 バイト
−45
→rindex
:
マークアップ修正
取り消し
タグ
:
2017年版ソースエディター
最新
前
02:42
2022年11月8日 (火) 02:42
Ef3
トーク
投稿記録
105,182 バイト
+309
→戻値を返すサブルーチン
:
もし return のないサブルーチンの戻値を参照すると、サブルーチンで最後に評価した式の値がかえります。
取り消し
タグ
:
2017年版ソースエディター
2022年11月7日 (月)
最新
前
06:40
2022年11月7日 (月) 06:40
Ef3
トーク
投稿記録
104,873 バイト
+129
→hypot.pl
:
Perlには、Cの isnan() や isfinite() に相当する関数がないので、それぞれ $n != $n と abs($n) == "Inf" としました。 POSIXモジュールにはisfinite関数があるので、それを使えばよいのですが、POSIX::hypotの代替実装なので利用を見送りました。
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:20
2022年11月7日 (月) 05:20
Ef3
トーク
投稿記録
104,744 バイト
+732
→hypot.pl
:
ピタゴラス数を使った真の値を併記
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:27
2022年11月7日 (月) 04:27
Ef3
トーク
投稿記録
104,012 バイト
+1,345
→hypot.pl
:
桁あふれ対策と可変引数に対応したPerl版hypotの例。
取り消し
タグ
:
2017年版ソースエディター
2022年11月6日 (日)
最新
前
23:46
2022年11月6日 (日) 23:46
Ef3
トーク
投稿記録
102,667 バイト
+137
→組込み関数
:
表形式を一旦コメント化(ソート機能に未練が)。
取り消し
タグ
:
2017年版ソースエディター
最新
前
23:33
2022年11月6日 (日) 23:33
Ef3
トーク
投稿記録
102,530 バイト
+47,356
→組込み関数一覧
:
Pod::Functionsを使って自動生成
取り消し
タグ
:
2017年版ソースエディター
最新
前
22:45
2022年11月6日 (日) 22:45
Ef3
トーク
投稿記録
M
55,174 バイト
−1
→say
:
</syntaxhighlight>
取り消し
タグ
:
2017年版ソースエディター
最新
前
22:43
2022年11月6日 (日) 22:43
Ef3
トーク
投稿記録
55,175 バイト
+826
→基本的な数学関数
:
自乗は結果がオーバーフローあるいはアンダーフローを起こす可能性があるので、対策された hypot を使うのが定石です。 ですが、Perlの組込み関数にもMathモジュールにも hypot はなく、POSIXモジュールにあります。 この場合、use POSIX "hypot";ではなくuse POSIX;で充分なのですが、POSIXからhypotを持ってきている意外性を伝えるため明示しました。 呼出し側で、POSIX::hypot(3, 4) とするのも刺激的ですが、複数箇所あると鬱陶しいので use 側で対処しました。
取り消し
タグ
:
2017年版ソースエディター
2022年11月5日 (土)
最新
前
05:17
2022年11月5日 (土) 05:17
Ef3
トーク
投稿記録
54,349 バイト
+13,455
→組込み関数
:
組込み関数の諸元 kind function flaver
取り消し
タグ
:
2017年版ソースエディター
2022年11月4日 (金)
最新
前
06:45
2022年11月4日 (金) 06:45
Ef3
トーク
投稿記録
40,894 バイト
+66
→組込み関数
:
https://paiza.io/projects/ky9-H1JH3jc2wLnFpPMFVA?language=perl
取り消し
タグ
:
2017年版ソースエディター
最新
前
06:40
2022年11月4日 (金) 06:40
Ef3
トーク
投稿記録
40,828 バイト
+5,285
→組込み関数
:
Wikitableを生成するコード
取り消し
タグ
:
2017年版ソースエディター
最新
前
05:10
2022年11月4日 (金) 05:10
Ef3
トーク
投稿記録
35,543 バイト
+858
→永続的スコープのレキシカル変数
:
my で宣言した変数(レキシカル変数)はサブルーチンを抜けると御破算になりますが、state で宣言した変数はレキシカルスコープであるものの次にサブルーチンが呼ばれたときも値を憶えています。
取り消し
タグ
:
2017年版ソースエディター
最新
前
04:42
2022年11月4日 (金) 04:42
Ef3
トーク
投稿記録
34,685 バイト
+416
→say
:
CORE::say "Hello world!";
取り消し
タグ
:
2017年版ソースエディター
(
最新
|
最古
) (
以後の50件
|
以前の50件
) (
20
|
50
|
100
|
250
|
500
件) を表示