最近、インタビューの質問でperlの文字列を逆にするように頼まれました。私はコードを書いて、テストするための文字列をいくつか与えることを希望しました。私はそれらにいくつかの文字列、多くの文字、無効な文字などの例文を与えました。しかし、彼らはまた、私がテストする最も長い文字列が何であるか尋ねました。私は何を伝えるべきか分からなかった。 したがって、この質問。 perlコードでテストできる最長の文字列は何ですか?それは何に依存していますか?マシンのメモリ? perlスタンドポイントには何らかの制限がありますか?私が持つことができる最長の文字列は何ですか?
答えて
最長の文字列に関する公式文書を見つけることができるかどうかを検討していました。私はhttp://perltutorial.orgで見つかった文字列について:
Perlは文字列を一連の文字として定義します。最短の文字列には文字も空文字列も含まれません。 最長の文字列には、コンピュータの使用可能なメモリに制限されている無制限の文字を含めることができます。
これは公式十分なあなたのためにあるかどうかはわかりません。 FAQやPerldocで何かを見ていただければ幸いです。これは、その中に文字列処理原料の束を持っているのPerlのFAQ#4である
my $rev_string = reverse $string;
:正式にPerlで文字列を逆にするところで
、。 の文字列を逆に質問は、誰かが彼らの秘密のPerlのものを知っているかどうかを確認するための古いトリックのインタビューの質問です。ほとんど誰もがreverse
が配列を逆転することを知っていますが、文字列を逆にすることも知っていますか? Noobiesは、複雑なアルゴリズムのいくつかの並べ替えを実行し、インタビュアーはその人を抱きしめていないと感じる理由があります。
個人的には、誰かにインタビューしていたら、私はこの質問をしました。誰かがエレガントなアルゴリズムで現場に現れ、短くて長くて無効な文字で動作する方法を教えてくれました。あなたはいつでも新しい愚かなPerlのトリックを学ぶことができますが、すぐにあなたの足のタイプの思考は見つけるのは難しいものです。
誰かが私にインタビューで同じ質問をしたとき、私はずっと前に逆のストリングトリックを学んだ。私はそれを見て、FAQでそれを見つけ、私がそれをしたことを実現しましたは間違ってです。私はPerlをほぼ20年間使用してきました。Perl文字列を逆転させなければならなかった時代を考えることはできません。
perltutorial.orgは[推奨しない](http://perl-tutorial.org/rejected/)、すべての情報が疑わしい[by連合](http://enwp.org/Association_fallacy)。 SOの回答は、信頼できる質の高いリソースを挙げるべきです。 – daxim
多くの場合、プロセスはコンピュータのメモリの一部にしかアクセスできないため、コンピュータのメモリよりもはるかに制限されている可能性があります。 – ikegami
@daxim - 私はキャメルブックで何か似たようなことを覚えていますが、それを見つけることはできませんでした。私はPerlmonkの上記と同様の記述を見つけましたが、そこには参照がありません。たぶん正解はおそらく必要以上に長くなっているはずですので、心配しないでください。 –
基本的には、プログラム(つまりPerl)がアクセスできるメモリの量によって異なります。あなたが32ビットのマシンを持っているなら、それは4 GiBの下にあります。 64ビットマシンを使用している場合は、使用可能な仮想メモリによって制限値が大きくなる可能性があります。固定の制限はありません。
だから、どのように長い文字列を作成するか、言い換えれば、テストのために可能な最長の文字列を作成することができますか?私がよく分からないのは、テストケースの1つとして長い文字列を持つ必要があるということです。 – user238021
@ user238021:この*コンピュータはハングします。あなたは警告されている:perl -e 'print scalar reverse a .. "z" x999' – jm666
- 1. マッチ文字、私は次のように持つことができ、文字列内のパターン
- 2. Cビルド文字列charで既知の最大長を持つ文字
- 3. が、私はこのような文字列持つC#の
- 4. 文字列の最長部分文字列を持つ行を選択
- 5. 文字列での作業と私はこのような何か持って
- 6. 私は、この文字列持つ文字
- 7. 分割文字列とは、私は、文字列持つ
- 8. 私はこの文字列が持っている別の文字列
- 9. 長い文字化けの文字列とOcraまたはRuby2Exeの終わりは何ですか?ここ
- 10. wsdlファイルのparamの最小文字列と最大文字列の長さを要求できますか?
- 11. は、私はこのようになります文字列持つ文字列
- 12. 長い文字列から文字列を解析する最も良い方法は何ですか?
- 13. javax.jdo.JDOException:文字列プロパティファイルが長すぎます。 1000000文字を超えることはできません
- 14. Railsの - 私はこのような配列持つ文字列
- 15. は、私は文字列の持つインデックス
- 16. スペースを持つことができる検索文字列のMySQLのDBは、別の文字列であること、など
- 17. は、文字列の最初の文字を削除し、私はこの文字列の最初の文字を取得する必要があり、文字列
- 18. C#は、私はそれでキャリッジリターンと文字列が文字列
- 19. プロセスがウィンドウ内に持つことができるスレッドの最大数は何ですか?
- 20. 私は抽象クラスでプライベート最終フィールドを持つことができます
- 21. 私はこのような文字列を持つ文字列チタン
- 22. GATE JAPEは文字列を見つけることができませんか?
- 23. Java - 私は文字列のHashSetを持っていて、何とかこれらの文字列を長さでソートしたい
- 24. 文字列が "RT"で始まるときはいつでも
- 25. 私は、ファイル名の持つ文字列
- 26. 最初の文字が文字であるまで文字列から文字列を削除するには?
- 27. 文字列中で最長類似サブシーケンスを見つける
- 28. 文字列の最初の文字がswitch文で大文字であることを確認します
- 29. 複雑Javascriptの文字列は、私がここにこの文字列を持っている
- 30. 特殊文字私はこれを見つけることができるHTMLコンテンツ持っ
あなたは仕事を得ましたか? – simbabque