HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1015
GrapeColor\nの数を調べる28解決


GrapeColor

リンク

2011/10/15(Sat) 18:36:15|NO.42405

\n(改行コード)の数を調べて数によって違う処理をしようと思うのですが、
数え方が分かりません。
どなたか教えていただけませんか。



この記事に返信する


skyblue

リンク

2011/10/15(Sat) 18:50:18|NO.42406

instr関数を使う



GrapeColor

リンク

2011/10/15(Sat) 18:52:27|NO.42407

使いましたが、あの命令は文字列の有無を調べられるだけであり、数は数えられなかったと思います。
もしinstr命令で数が数えられるのであれば教えてください。



skyblue

リンク

2011/10/15(Sat) 18:56:20|NO.42408

>使いましたが、あの命令は文字列の有無を調べられるだけであり、
そうですよ。あくまで変数内の最初に見つかったインデックスを調べる関数です。
>もしinstr命令で数が数えられるのであれば教えてください。
第2引数を変数にすればループでできます。



GrapeColor

リンク

2011/10/15(Sat) 19:00:55|NO.42409

すみません
良く考えたら質問する内容を間違えていました
\nの後に文字列が有るか無いか調べたいのですが、どうすればできますか。



ORZ

リンク

2011/10/15(Sat) 19:05:27|NO.42410

誰も注意しないからこのような応用力ゼロ、思考停止の輩が現れるんだぞ。



GrapeColor

リンク

2011/10/15(Sat) 19:07:44|NO.42412

>>ORZさん
申し訳ありません。
具体的にどの辺が悪かったか教えてください。



れみはる

リンク

2011/10/15(Sat) 19:10:12|NO.42413

sprit命令を使い「\n」で区切り、strlen関数で文字が前後にあるか調べる なんてどうでしょうか。



れみはる

リンク

2011/10/15(Sat) 19:13:47|NO.42414

お、書いている間にレスが。

>>ORZさん
本人のためにならないからと言って、中途半端に注意すると逆に本人のためにならないと思いますよ。
他のスレッドでも指摘されていましたが、もう少しぐらい具体的に指摘したほうがいいと。

スレチ失礼しました。



skyblue

リンク

2011/10/15(Sat) 19:14:27|NO.42415

>\nの後に文字列が有るか無いか調べたいのですが、どうすればできますか。
\nを探してその後のインデックスを読み込めばok?



GrapeColor

リンク

2011/10/15(Sat) 19:17:36|NO.42417

えっと・・・
ORZさんは「自分で検索してください」とおっしゃいたいのですね
言い訳になってしまうのですが、こんなに質問数が多い割にはだいたい30分程度Googleで調べています。
ただ、語学能力が低いのか検索サイトでは上手く見つからずここに至っています。
迷惑な中学生で申し訳ありません。



ANTARES

リンク

2011/10/15(Sat) 19:25:06|NO.42418

>\nの後に文字列が有るか無いか調べたいのですが、どうすればできますか。
 instrで\nを検索し、strmidかpeekでその次の文字を取り出す。
strmidの場合、取り出した文字が""ならその\nで終わり。
peekの場合、0なら終わり。
文字列処理は一般に遅いので、peekでできることはpeekでやった方がいい。



てれてれ

リンク

2011/10/15(Sat) 19:26:33|NO.42419

>本人のためにならないからと言って、中途半端に注意すると逆に本人のためにならないと思いますよ。
>他のスレッドでも指摘されていましたが、もう少しぐらい具体的に指摘したほうがいいと。
仰ることも解りますが、
ここ最近のGrapeColorさんの質問の量と内容を見ると
ORZさんの突っ込みたくなる気持ちもよく解ります。

たくさん質問することが悪いこととは言いませんが限度はありますし、
今回の質問程度ならGrapeColorさんのレベルをもってすれば自己解決出来たのではないでしょうか・・・?
というのは期待しすぎですかね?

質問というのは最後の手段であると私は考えています。
自分の考えを押し付けようとは思いませんが、
わからなくなったところを人に聞いてコピペするだけでは、
自分自身の技術の向上は望めないでしょう。



ORZ

リンク

2011/10/15(Sat) 19:26:41|NO.42420

・文字列の長さを調べる
・改行の位置を調べる
・改行の位置と文字列の長さを比べる

他にも改行コードでsplitしてみたり、note系命令を利用して行数を取得してみてもいいだろう。

検索して出てこないのはまあ仕方ない事だと言える。解法は全て出ているからで、それを組み合わせるだけで回答が得られるわけだが、無限に近い組み合わせ方法を
一々解説していてはとてもじゃないが紙面が足りない。
極めて単純で誰もが思いつくような組み合わせ方法について一々解説している所は少ないからだろう。
これらは検索方法や解法が悪いのではなく問題への取り組んでいない事が原因だ。
自分で考えるのがプログラミングだ。考えろ。考え抜け。頭を使え。

以下蛇足
口を酸っぱくして調べろ調べろと言ってきたが最近それすら間違いである事に気付いた。
だからまず考えろという事にした。考える→調べる→考える→質問、が理想やな。



れみはる

リンク

2011/10/15(Sat) 19:28:30|NO.42421

>言い訳になってしまうのですが、こんなに質問数が多い割にはだいたい30分程度Googleで調べています。
>ただ、語学能力が低いのか検索サイトでは上手く見つからずここに至っています。
>迷惑な中学生で申し訳ありません。
いやいや、みんな得てしてそういうものですよ(笑


で、さっきspritとstrlen()を使う方法を提案しましたが、
strlen()からinstr()を引けば簡単でしたね。

if strlen(text) - instr(text, 0, "\n") == 2
\nが複数ある場合は工夫してください。



GrapeColor

リンク

2011/10/15(Sat) 19:29:08|NO.42422

split命令を始めて知り、他の方法を思いついて、それが成功したので解決にします。
頭が悪く申し訳ありませんでした。
以降ここでは質問しないようにします。



ひらまる

リンク

2011/10/15(Sat) 19:31:40|NO.42423

自己満足でソースを張るひらまるが通りますよ。

文字列 = "改行を\n含んだ\n文字列\n\n\n無駄な\n行も\n\n入れる。" mes "---以下の文字列を判定する---" mes 文字列 mes "----------" split 文字列, "\n", 行データ 改行数 = stat mes "改行数 = " + 改行数 mes "----------" データ数 = 0 repeat 改行数 mes "" + cnt + "行目のデータは「" + 行データ(cnt) + "」" if strlen( 行データ(cnt) ) > 0 : データ数 ++ loop mes "----------" mes "文字列を含んだ行の数 = " + データ数 mes "----------"
個人的にはGrapeColorさんは態度も悪くないと思うんですけどねぇ。
まぁセンスはちょっとあれかもしれませんが、要は慣れかと。



ORZ

リンク

2011/10/15(Sat) 19:35:46|NO.42425

彼が痴恵袋や某氏のラウンジへ流れるんだとしたら悪い事をしたな。
きちんと考える子になる事を願うばかり



てれてれ

リンク

2011/10/15(Sat) 19:45:21|NO.42426

>以降ここでは質問しないようにします。
ひらまるさんの仰るとおり、別にGrapeColorさんの態度は悪くないと思います。
ですが、質問する前にもっともっと考えてほしかったです。

場所の問題じゃないですよね。
質問しないというのであれば私は止めませんし、これ以上何も言うことは出来ませんが。



ANTARES

リンク

2011/10/15(Sat) 19:46:25|NO.42427

 「なるべく」でいいと思います。
なんで極端から極端に走る?
1日放置しとくと、電車の中で解決法を思いついたりするもの。
衝動的に質問するのをやめればいいんじゃない?

 まだまだ知識が足りないことがわかってるならマニュアルを読み返して
勉強する時間も作るべきですね。
プログラミングマニュアル・基本仕様ガイド(hspprog.htm)を読みましょう。



あり(副管理人)

リンク

2011/10/16(Sun) 03:13:42|NO.42438

質問者に注意する事でより良い関係性を築いていけるのであれば問題ありませんが
攻撃的な発言をする事で相手の姿勢を正そうとする事はただの暴言や独善であり相手の為の注意とは言えません。
質問の仕方に好ましいマナーがあるのなら返答の仕方にもより好ましいマナーがある事は当然で
それを無視して自分だけは好き勝手な事を言ってもよいというような考え方は
とても容認できません。

ORZさんはこれまで質問者のマナー違反について非常に強い憤りを感じて
行動されているようですが、その意識が自分には全く向いていないように強く感じられます。
>誰も注意しないからこのような応用力ゼロ、思考停止の輩が現れるんだぞ。
>きちんと考える子になる事を願うばかり
貴方のこの言葉は貴方自身にも向けられるべきではありませんか?



KA

リンク

2011/10/16(Sun) 04:12:40|NO.42440

「ガツン」と言う人が多少は必要だと思いますが。

表現がキツくても、それをどう受け止めるのかは質問
者自身です。別の回答者がとやかく言う問題でもない
でしょう。

○くだらない質問には回答しない。
○不快に思う回答は無視する。

と言う、暗黙の了解みたいな議論が散々出てきたけど
、結局突っ込んじゃうから意味がない。



GrapeColor

リンク

2011/10/16(Sun) 07:47:37|NO.42441

私は分かりやすく指摘してくだされば、それでいいのですが・・・



test

リンク

2011/10/16(Sun) 09:27:17|NO.42444

> 以下蛇足
> 口を酸っぱくして調べろ調べろと言ってきたが最近それすら間違いである事に気付いた。
> だからまず考えろという事にした。考える→調べる→考える→質問、が理想やな。
というように、ORZさんも考えながら注意を行なっているのではないかと見受けられます。

> 質問者に注意する事でより良い関係性を築いていけるのであれば問題ありませんが
といっても、KAさんも仰っている通り、良い関係性を築けるかどうかは、質問者側がどう受け止めるかによるものです。
逆に、注意しても良い関係性が築けないような質問者なら何を言っても効果が薄いでしょうから無視するのがよいということになりますが、
今のところこうやって注意しているのは、この質問者は改善されるかもしれないという期待があるからではないでしょうか。
そういった所から、ORZさんに対して安直に思考停止とも言えないのではないでしょうか。



who

リンク

2011/10/17(Mon) 00:03:01|NO.42456

>>あり
なんで悪くない人を怒るんだよ。先に悪い人をおこれよ。



GrapeColor

リンク

2011/10/17(Mon) 00:10:42|NO.42458

全て私が悪いので喧嘩等はおやめください。



WHOS

リンク

2011/10/17(Mon) 00:29:56|NO.42459

質問者に注意 ... 初心者が質問しずらくいずれ過疎化が進む
回答者に注意 ... 答えたい人だけが答えいずれも比較的良い傾向に進む

正しいなんてないと思います。
ただ正しいがないからこそ、
中途半端なルールで注意したりするならありさんの言う事に従う必要があると思います。

自分たちで納得のいく完璧なルールを作りたいなら
これからこの掲示板のユーザー(初心者共に上級者など)も含め話し合っていく事が大事だと思います。



f(残業中)

リンク

2011/10/17(Mon) 01:01:29|NO.42462

・・・どう見ても

回 答 者 側 に対する

「もう少し質問者に自分で考える術を身に付けられる様な誘導をしてやれよ」

と言う指摘であろう。


よって質問者は(遠因ではあるが)あたふたする事も気にする事もない。


回答者側も、(全員ではなさそうではあるが)意図は受け取っているように見える。



あり氏も立場上思う所もあったのだろうが、

>「攻撃的な発言をする事で相手の姿勢を正そうとする事は」

の「相手」が、(文面からはその様にしか読み取れないが)質問者の事を
指しているのであれば、注意意見として成立していない事になる。
チョンボと言う奴だ。


まあ、肩の力抜いて行こうや。



ORZ

リンク

2011/10/17(Mon) 02:31:07|NO.42473

>質問者に注意 ... 初心者が質問しずらくいずれ過疎化が進む
これはおかしいぞ。
どこがおかしいかと言うとだな、『質問しづらい』の部分だな。



ONION software Copyright 1997-2021(c) All rights reserved.