すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

プログラム言語の意味を知りたい時皆さんはどのように検索されますか?
プログラム言語に含まれる変数等には、エスケープ文字が使用されていることが
多いと思いますが、たとえば$thisの示す範囲を知りたい場合など、皆さんは
どのように検索しているのでしょうか?

  • 質問者:しょぼしょぼ
  • 質問日時:2009-02-26 19:23:24
  • 0

何かのキーワードを元にソースを解析をする場合、ということであれば、まずは grep もしくは
開発環境の持っている検索機能で、そのキーワードで探して、出てきたところを片っ端から
読みこんでいきますね。例にある$this がどの言語での物かにもよりますが・・。

ソースから調べるのであれば、結局読むしかないでしょう。

文法的な意味での調査だったら、普通にWeb で同じように検索して、ですね。

===補足===
PHPのシンタックスを理解したうえで、のことでしょうか。それとも $ って何?という
レベルからでしょうか。検索エンジンによっては、確かにいくつかの記号が検索対象として
認識されないことがありますが、たいていこういった記号はその言語の基本的な
シンタックスの解説で意味がわかります。まず言語系の基礎解説を探すべきでしょう。

その上で、その記号以外の部分をつかって検索していけば、うまくいけば意味が
つながってくるんじゃないかと思いますがいかがでしょうか。PHP自体には詳しくは
ありませんが、一般的な言語表記の解釈で見れば、$this->backend とあれば
自クラス(オブジェクト)内のメンバ backend への参照と考えられます。

  • 回答者:おん (質問から40分後)
  • 1
この回答の満足度
  
参考になり、満足しました。回答ありがとうございました。
お礼コメント

早速の回答ありがとうございます。

すいません。質問内容が言葉足らずでした。
質問の意図は”おん”さんのおっしゃる”文法的な意味の調査”の方です。
ある開発プロジェクトに途中参加した場合を想定します。
上記の例では、言語PHPでフレームワークがEthnaの場合、
「$this->backend」とはなにをやっているのかを知りたいとします。
まず、EthnaのページをWeb検索してドキュメントなんかを読んだりしますが、ここでは
フレームワークの動作説明なんかでコードの詳しい意味はわかりません。
そこで直接Web検索画面に「$this」とか打ち込んで該当ページを表示させたいと
思ってもここでエスケープ文字ははじかれてしまいます。

こんな場合、どうされるのかな?と思っているのですが…

それともこのような調査の方法(流れ?)自体が間違っているのでしょうか?

==追加==
補足、ありがとうございます。

>PHPのシンタックスを理解したうえで、のことでしょうか。それとも $ って何?という
レベルからでしょうか。
PHPのシンタックスはある程度理解しています。
疑問に感じたのはソースを見ていて、$thisはいつnewされたんだ?ということでした。
実は、$thisはフレームワーク上でnewされるのですが、これを調べるには言語の
解説ページを調べたのではだめで、フレームワークの方を調べないといけませんでした。
私は、このあたりの切り分けがきっと下手なんでしょうね。(--)

補足までしていただき、ありがとうございました。

並び替え:

未だに何がされたいのかよく分かりませんが,「$this」自体に特定の意味なんて無いと思うんで,そんなので検索しても無駄だと思いますよ.(;´ω`)

そういう意味では「調査の方法(流れ?)自体が間違っている」と言えます.

$thisって,そもそもどういうクラスなんですかね?
そのクラスのbackendを調べていくんではないですかね?
文末に「?」を使っていますが,当方から質問しているのではありません.(;´ω`)

===補足===
コメントを拝見しての感想….
当方は「thisを(検索キーワードに含めて)検索せよ」とは書いていませんよ.$が付く/付かないに関わらず,どこでも頻繁に使われるものなので,キーワードに含めても無意味だ…ということです.当方なら「php ethna backend」で検索してみるってことですよ.ここまで具体的に書く必要は感じなかったんですけどねぇ….

今なら「ソースがあるんだから,ソース読め」で回答終了です.「いつnewされたんだ?」だけが疑問として残ったんなら…ですが.
そのときにどんな方法で目的の場所にたどり着けるかまでは未だに回答不能ですね(というか,自分の環境にあわせて自分で考えればよいだけのことです).

気になるのは「1の記述のあるページに行き当たるまでに一苦労という始末。(--;)」という記述です.自分の疑問がすべて公開されたページにあるとは限らないので…もしかして,他人の書いたソースは読もうとしないんですかね…もし,そうならこの先,苦労すると思いますよ.
なので,やはり 「調査の方法(流れ?)自体が間違っている」と言えます.

この回答の満足度
  
参考になりました。回答ありがとうございました。
お礼コメント

返信が遅くなり申し訳ありません。
回答ありがとうございます。

「$this->backend」の意味を知りたい場合、
1.$thisは上記コードが書かれている自クラスでクライアント側でsabmitされた時にフレームワークでnewされる。
2.backendはフレームワーク上のクラスで$thisがnewされた時にイニシャライズの中でnewされたインスタンスでDB接続などの基本メソッドを持つ
3.1,2より、$a = $this->backend とは自クラス上の基本メソッドを持つインスタンスを$aに参照代入している。

上記1~3のことを調べるのに私の場合、4時間くらい使ってしまうので作業効率がわるいなぁ、などと思っているのです。
Web検索で「$this->backend」を入力して「$this->backend」の記述のあるページを検索できたら、手っ取り早いのではないかなどと考えたもので…。

"greeneyes"さんのおっしゃる様に、まず$thisを調べたく、「ethna this」などと
Web検索画面に入力し、検索したのですが、1の記述のあるページに行き当た
るまでに一苦労という始末。(--;)

すいません、なんか愚痴になっちゃいました(;´ω`)

>$thisって,そもそもどういうクラスなんですかね?
>そのクラスのbackendを調べていくんではないですかね?
この流れで調べようとしていたので調査の方法(流れ)は間違っていないことがわかりました。
ありがとうございます。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る