• ベストアンサー

pop pushに関して単純な質問

学習本の初めてのPerl第3版にpopやpush のことを演算子とも関数とも書かれているのですが 曖昧でよくわかりません それともどちらも正しいのでしょうか?

  • s5210
  • お礼率82% (38/46)
  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

あまり深く考えることはないです。 ある意味Perl独特の用法なので。 簡単にいうと push(@hoge, 'fuga'); のように書くと関数、 push @moge, 'ra'; だと演算子です。

s5210
質問者

お礼

「存じている」は謙譲語でした 解答有り難うございました

s5210
質問者

補足

もし、詳しく存じているのでしたら もう少し詳しく教えてもらえないでしょうか お願いします

その他の回答 (1)

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.2

逆に質問してみると 演算子と関数の違いとは何でしょうか. (複数であることもある)値を与えて, 何らかの結果を出すもの という意味において差があるのでしょうか. となるわけです. 意図どおりに動けば,どっちでもいい くらいに考えて細かい用語は後回しです. ちなみに,とある言語では 1+1を (+) 1 1 と書けたり, f(x,y)を x `f` y と書けたりします(^^;

s5210
質問者

お礼

解答有り難うございました

関連するQ&A

  • Javaの擬似構造体を利用したPushとPopについて

    現在、C++のコードをJavaに変換しているのですが、 Javaで構造体を扱うために、クラスを使って擬似構造体を構築し、 この内容をPushとPopで操作したいと考えています。 しかし、C++におけるポインタがJavaには提示されていないため、処理に困っています。 どのようにコーディングすれば、Javaで処理できるでしょうか? よろしくお願いします。 以下、C++のソースです。 //構造体配列の先頭にデータを追加する関数 void push(CPS_struct *cps , int *n) { int i; for (i = *n ; i >= 1 ; i--) { *(cps + i) = *(cps + i - 1); } (*n)++; }

  • array_push関数について

    array_push関数を使って配列に追加していくことはできるのですが、多次元配列に追加する方法がわかりません。 WEBマニュアルを見ても詳しく書かれておらず困っています。 array_push関数で多次元配列に追加していくことはできるのでしょうか? できるのであれば簡単な書式をご伝授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • push(@array, {}); について

    いつもお世話になります。 いまperlのプログラムを読んでいるのですが、 push(@array, {});  という記述があり@arrayという配列の最後に値を追加しているというのはわかるのですが、どんな値なのか、つまり{}の意味がわかりません。スペースでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • arayy_pushの挙動は?

    arayy_pushの挙動は? file関数で読み込んだカンマ区切りのデータ(改行コードはLF)をlist(data1,data2,data3)として、data3には改行コードが含まれたまま、全てのデータ(data1,data2,data3)の最後にaray_push関数で末尾にデータを追加(data4とする)した場合には、data3とdata4の改行コードはどうなるのでしょうか? array_pushのマニュアルには何も書いてなく、自動的にdata4には改行コードが付加されるか確認する方法がわかりません。 アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • perlのpushについてです。

    お世話になります。perlのpushについてです。 データファイルを読み@XXに入れます。 実際はもうちょっと複雑なのですが、 foreach $DATA (@XX){$CHECK=''; ($A,$B)=split(/\,/$DATA); # $Bには改行コードを含んでいます。 if ($A==1){$A=2;$CHECK=1;} if ($A==2){$A=3;$CHECK=1;} if ($A==3 and $B==1){$A=1;$B=9;$CHECK=1;} if ($CHECK==1){ push(@N,"$A,$B");}else{ push(@N,"$DATA"9;} } として、@Nをファイルに出力すると1行目を除き、 行の先頭になぜか空白が付いてしまいます。 別のスクリプトで読むときに数字以外は削除というような 文を加えても削除できず、 if ( $A eq '1'){・・・・ としたときにマッチしてくれません。 よって、この最初にファイルに書き出す際に空白が付かないように したいのですが、何故付いてしまうのか?、回避方法は? ご指導頂けたら幸いです。 付いてしまいます。

    • ベストアンサー
    • Perl
  • POPの書き方

    こんばんわ。 プライスカードのPOPを書けるようになりたいのですが、POPを書いたことがありません。 POPの基本が載っているような本やネットで良いものはありますでしょうか? 回答お願いいたします。

  • 【売れる!POP】の創り方

    売れるPOPを創るコツを教えてください。どこに出したらよいとかどんなメッセージが効果的とか余り参考文献もないみたいです。ついつい買いたくなるPOPって何か法則があると思うんです。この店のPOPを見てついつい買っちゃった、逆に○○社(店)のPOPは見辛いしベタベタ貼っててダサイ、とか、この本は役にたったよ、とか教えてください。

  • スタックとキュー

    スタックにデータを積む関数push、データを取り出す関数push、キューにデータを積む関数enqueue,データを取り出す関数dequeueを作成しろという課題がでたのですが、関数がさっぱりわかりません。あと、popやpushの他に関数は作らなければ動きませんか?メインはなんとかできそうです。

  • C言語の配列にPushするには

    Perlのpushのように あるループ内の配列にたいして任意の文字列を配列の末尾に入れることは可能なのでしょうか。 ヒープやを使えば文字列がどんな長さでも対応できるということまでは理解できたのですが どのようなソースの書き方をすれば良いのか判りません。 出来ましたら簡単なサンプルソースを教えいただけませんでしょうか。

  • perl while pushで条件が無かったら0

    恐れ入ります。perlで、 push@list,$1 while $body=~s!<div>(.*?)</div>!!; として(.*?)部分を抜き出して@listを作成していますが、 <div>(.*?)</div>が存在しない、つまり条件に合致しない場合は0を代入したいのですが、どのようにすればよいでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう