naoit0
ブログ
プロジェクト
BBS.pm
BIG-Model
メモ
Search Term
文書の過去の版を開いています
。もしこのまま保存すると、この文書が最新となります。
メディアファイル
{{tag> note:perl unshift shift push pop}} ---json { "title":"配列操作を考える", "description":"関数の引数を得る際の配列操作について考えてみます" } --- \\ ===== <icon name="md:card-text-outline" color="#0000ff" height="32px" width="32px"/> 配列操作を考える ===== \\ Perlに限らず、関数(またはメソッド)が呼び出されるとき、引数が渡されるのですが、 Perlの場合、常套手段として、 <code perl> sub routine { my $one = shift; my $two = shift; : } </code> のように、shift() を使うことがあるのですが、 上記のように、引数から数個ずつ要素を一度に受け取る場合について考えてみました。\\ で、 <code perl> routine( 'one', 'two' ); </code> のように呼び出した場合を想定し、まず、 shift() を使う前提で考えると、 map() を使う方法はどうか?ということで、 <code perl> sub routine { my ( $one, $two ) = map { shift } ( 1, 2 ); } </code> または、shift() を使わない方法で何かないかと考え、splice() を使う方法で <code perl> sub routine { my ( $one, $two ) = splice( @_, 0 ,2 ); } </code> のように考えてみたのですが、やっぱり見た目も可読性も <code perl> sub routine { my $one = shift; my $two = shift; : } </code> が勝るなって思って、無駄な時間を過ごしました。
人間の証明として、ボックス内の全ての文字を入力してください。
B G F T R
この項目は空のままにして下さい:
保存
プレビュー
キャンセル
編集の概要
User
ログイン
Page
文書の表示
Manage the slots
以前のリビジョン
Backlinks
Metadata Manager
Page Quality
文書の先頭へ
Website
最近の変更
メディアマネージャー
Recent Pages Visited
サイトマップ
Railbar
User
ログイン
Page
文書の表示
Manage the slots
以前のリビジョン
Backlinks
Metadata Manager
Page Quality
文書の先頭へ
Website
最近の変更
メディアマネージャー
Recent Pages Visited
サイトマップ