• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perlについて教えてください!)

Perlについて教えてください!

このQ&Aのポイント
  • Perlについて教えてください!入力ファイルには英文で例えば、Mr. Obama concluded in his first year that the Bush-era dream of remaking Afghanistan was a fantasy, and that the far greater threat to the United States was an unstable, nuclear-armed Pakistan. So he narrowed the goals in Afghanistan, and narrowed them again, until he could make the case that America had achieved limited objectives in a war that was, in any traditional sense, unwinnable.
  • The lessons Mr. Obama has learned in Afghanistan have been crucial to shaping his presidency. Fatigue and frustration with the war have defined the strategies his administration has adopted to guide how America intervenes in the world’s messiest conflicts. Out of the experience emerged Mr. Obama’s “light footprint” strategy, in which the United States strikes from a distance but does not engage in years-long, enervating occupations. That doctrine shaped the president’s thinking about how to deal with the challenges that followed — Libya, Syria and a nuclear Iran.
  • We started with what everyone thought was a pragmatic vision but, at its core, was a plan for changing the way Afghanistan is wired. We ended up thinking about how to do as little wiring as possible.

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

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

1行1文ならばとりあえずどうやって文単位で分割するかは考えないで済みます。 一番簡単なのは、入力ファイルを2回読むことです。1回目は全部で何行(何文)あるかを数えるだけ、その結果を使って先頭から10%と末尾から10%にあたる行(文)を別のファイルに書き出すのが2回目。 入力ファイルを1回しか読んではいけないという条件がつくと少々面倒になりますし、先頭から10%の出力を行うのに必要なメモリ量が膨れあがります。

その他の回答 (2)

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.2

英文をロジックだけで、厳密に文に分割することが、まず不可能だよ! 文末のピリオドなのか、略語のピリオドなのかすら、略語リストがないとできない。 略語と固有名詞の組み合わせなのか、略語の文末と文頭の組み合わせなのかの判定は、もっと難しくて、単語と品詞の対応辞書をもとに、推測しながら文法に単語をあてはめて、文末判定しなければならないとおもうよ? 文の10%じゃなくて、単語の10%なら空白で分割されてるから、簡単だとおもう。

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

要求仕様が曖昧ですな。 ・「前半の10%と最後から10%」はどのように数えるのか? 文字数、単語数、文数、その他、どの方法で数えた場合の10%? ・文字数や単語数で数えて10%の場合、出力は単語や文の途中で切れてもいい? ・文の数で数えて10%の場合、文の数が5しかないとか、17あったという場合にはどれだけ出力すればいい? 質問文にある文章は文が9つありますが、先頭と最後の10%はそれぞれどこからどこまででしょうか?

wiredrikou
質問者

補足

質問文が不明瞭ですみませんでした。 前半10%と後半10%の抽出条件は例えば123行の内の頭から10%と終わりから10%を文の数で計算して、123行の10%は12.3行となるのでこのような場合には四捨五入により12行にして抽出する方法でお願いします。また、これも質問文には記載されていませんでしたが全ての行は一文ずつ改行されている状態での実行を想定しています。