いてつくブログ

2ちゃんねるのスレッドをコピペしてまとめてみるブログ

言語

PC等日本語プログラミング言語『なでしこ』スレ5

1 :デフォルトの名無しさん:2009/09/04(金) 19:31:07 ?PLT(14545)
クジラ机飛行氏作の「なでしこ」について語るスレッドです。
荒らし、煽りは徹底スルーで。
なでしこスレではあるけどひまわりもいいと思います。

前スレ
日本語プログラミング言語「なでしこ」スレ 3
http://pc11.2ch.net/test/read.cgi/tech/1189064357/

関連(ピヨピヨ)
■日本語プログラミング言語「なでしこ」
(本家) http://nadesi.com/

■日本語プログラミング言語「ひまわり」
(なでしこの前身)http://hima.chu.jp/

95 :デフォルトの名無しさん:2009/11/06(金) 00:33:14
アタック25の挑戦クイズみたいなのを作りたいんだけど
(動画の上に画像を重ねる。画像を透過して、動画の一部だけが見えるようにする)
MCIで動画開くと、別ウィンドウ?になっちゃうんだよね・・・

http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=al2&number=6955&no=0
のNo.2のレスのも試してみたけど、ボタンはうまくいくけど画像はできないし

あるいは、動画は別のソフトで再生して、母艦も画像みたいに透過ができて、
母艦そのもので動画を隠すとかできる
みたいな感じの方法があればそれでもいいけど

ひまでもなこでもおkです

127 :デフォルトの名無しさん:2009/11/19(木) 19:22:50 ?S★(711077)
>>95
まずは、動画を隠すための画像の周りを黒色で囲みます
JPEGなどの圧縮で色が変わると困るので保存時はPNG形式で
http://monoganac2.sakura.ne.jp/src/milktea27772.png

AフォームとAイメージを1個ずつ用意します
まずAイメージ部品に↑の画像を設定します

Aフォームの最前面表示をオンにして、Aフォームの画像にAイメージを設定して画像通り変形します
その際、勝手にドラッグ移動がオンになってしまうので、オフにしておきます
http://monoganac2.sakura.ne.jp/src/milktea27773.png
とりあえずこれで動画が隠れました

あとは状況によってAイメージの見せたい部分を黒色四角で塗りつぶします
Aフォームに再度Aイメージを設定しなおして、画像通り変形します
http://monoganac2.sakura.ne.jp/src/milktea27774.png
これで見せたい部分だけを透過させることができます

タスクバーにAフォームのボタンが表示されてしまうけど
質問掲示板あたりに非表示にする方法が載ってたと思います

あとはパネルっぽくなんたらかんたらめどい・・・

238 :デフォルトの名無しさん:2010/01/17(日) 20:00:35 ?PLT(14416)
なでしこで商用ソフトを作成するのは良いけど、間違っても同じソースコードにライセンス認証つけた体験版は公開しちゃダメだぞ!

239 :デフォルトの名無しさん:2010/01/24(日) 09:40:44
>>238
なんで?

241 :デフォルトの名無しさん:2010/01/27(水) 23:46:01 ?PLT(14416)
ありゃレスするの忘れてたごめんちゃーい

>>239
なでしこは暗号化部分が弱いからソースコードが抜かれる危険性がある
ソースコードを抜かれるとライセンス認証部分を書き換えてやることで製品版の機能を利用出来るようにクラックされてしまうかもしれないってこと
特にソースが日本語で分かりやすいから簡単にクラックされると思う

しかもなでしこは中間言語を介さないから生のソース(コメントとかも入った)が抜かれちゃうからさらに危険。

299 :デフォルトの名無しさん:2010/05/09(日) 21:46:21
http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=all&number=8698

300 :デフォルトの名無しさん:2010/05/09(日) 23:47:06
>>299
なでしことはどういう関係が???

349 :デフォルトの名無しさん:2010/09/11(土) 20:01:34
ここの人達に意見を聞きたいんですが
>>241
でライセンス認証つけた体験版は公開するとマズイって話がありますが、
ソース簡単に抜かれるなら、ライセンス認証有る無しに関わらず、
体験版は公開しない方がいいのでしょうか?

例えば、
3分しか使用できない→時間制限がないように書き換えられて盗まれてしまう
音にノイズがかかる→ノイズを付ける部分を除かれて盗まれてしまう。
とか考えると、どんな体験版も出すべきじゃないのかなと思ってしまいます

400 :デフォルトの名無しさん:2011/02/06(日) 23:28:12
なでしこだけで具体的にどんなアプリケーションがつくれますか?

411 :デフォルトの名無しさん:2011/02/07(月) 18:19:00
公式書はほとんど見掛けませんね。
なでしこそのものの命令群は実はそこまで解説することが無かったりするので、あとは用途の方針的なお話になってしまったりします。
Cで再現できることは基本的に考え方として流用できます。(3d描画はまた次元の違う話しになりますが)

またなでしこに限らず、言語を始める際には何かはっきりとした完成図があたまにないと進まないものです。
私は暫くここで出来る限りの質問に答えますよ。

412 :デフォルトの名無しさん:2011/02/07(月) 18:28:37
>>411
なでしこ製作者か、その関係者かい?

413 :デフォルトの名無しさん:2011/02/07(月) 19:37:56
>>412
いえ、ただの学生プログラマーです。
なでしこ開発にはまって処理効率化を探求中の身です。
自分自身、あらゆる経験を積みたいのもあって今はなでしこを広める活動も細々とやっています。
質問は本当はなでしこの質問版が適当だと思いますが、ここで自分が力になれればと思ってやっています。

415 :デフォルトの名無しさん:2011/02/09(水) 01:37:32
質問です。
ファイル選択してそれを画像表示する方法がわかりません。


429 :デフォルトの名無しさん:2011/02/16(水) 02:04:22
http://www.vector.co.jp/soft/win95/net/se266725.html
出来ればこんな感じで。
コレだと送れないファイル(容量なのか拡張子なのか不明で困る、原因不明)があるのでなんとか別なものでと。

552 :デフォルトの名無しさん:2011/05/08(日) 00:00:13.03
複数のテキストファイルから、最新のテキストの最終行を表示するプログラムを作ってるんですが中々うまく行きません。
ログを1回目に表示するときは問題無く表示できるんですが、テキストを再取得してから表示し直すと失敗します。

何度か試してるうちに、変数を「」で囲ってると表示失敗することがわかったんですが、原因がよくわかりません。

「{H}」を表示 ←失敗する
Hを表示 ←なぜか表示される

591 :デフォルトの名無しさん:2011/07/29(金) 20:39:51.70
どんなに強力に暗号化してもソースがツルっとお見通しのソフトがあったが

596 :デフォルトの名無しさん:2011/08/14(日) 20:32:46.79
スタッフロールみたいなソフトを作りたいんですけど、
最もシームレスに文字列をスクロール出来る方法って何でしょうか?

500回
 画面クリア
 10,500+(回数*-1)へ移動
 「なでしこ」と表示

みたいなのしか思いつかないんですが。
何か良い方法はないでしょうか?


597 :デフォルトの名無しさん:2011/08/15(月) 00:20:38.78
>>596
シームレスというのは大体60FPSくらいですかね?
あながち悪くはないんですが、なめらかに動かすには間隔を固定する必要があります。

(1)間
画面クリア
10,500-cntへ`なでしこ`を文字表示
cnt=cnt+1
0.015秒待つ
ここまで

cntは回数でももちろん構いませんよ。
本来はループの最後で待機する時間を、16.66-(処理に要した時間)となるようにするのが望ましいのですが、目的が比較的軽い処理なので16msecで大体問題ないですね。
ラベルを使っても同じようなことができますが、複数個ある場合はちらつきがひどいので文字表示をおすすめします。
こちらもちらつきがひどい場合はダブルバッファリングが必要ですけども。
複数個の場合はグループを作っちゃうのが楽です。

598 :デフォルトの名無しさん:2011/08/15(月) 14:43:29.60
>>597
ご回答頂きありがとうございます。
60FPSあれば十二分という感じですね。
ラベルは質問したあとに自分も気づきました。
毎回画面クリアして表示してを繰り返して処理が遅れはしないかと思ったのですが、文字表示の方が良いのですね。
16.66-(処理に要した時間)というのは仕様でしょうか?
処理に要する時間というのは・・・計測できるんでしょうか?
軽い処理なのかどうか分からないのですが、打ち込む行数は20~30字を1行として2000数百行あります。
ちょっと試行錯誤しながら作り込んでみます。

599 :デフォルトの名無しさん:2011/08/16(火) 23:43:50.96
>>598
>2000余行!
うわお、ちょっと想定外ですw
となると、大きさは分かりませんがまず同時に 表示する最大数を決めないといけ ないですね。
つまり、スクロールしながら表示される最大個 数+余裕分ですね。
下からスクロールするとして、先頭の文字列が 消えるまで60FPSで5秒なら、300 カウントです。
300カウント経ったら上に消えた文字列の代わりに、次の文字列をセットしてY座 標を元に戻せば、繰り返しができます。
仮に最大数が10個なら、x,y,フラグ,文字列 の ような情報を持つグループを定 義して10個宣言してあげれば管理できます。
ちょっとゲーム制作みたいな手順ですが、数が 数なので向いてると思いますよ。
処理にかかった時間は簡単に計測できる…んで すが、色々と面倒なのでどうせな ら私が作ったライブラリを使ってみませんか?
https://sites.google.com/site/tatumakiprojectn1/sakuhin/tatumakigen/game-s-library

(1)間
  画面クリア
  #処理
  FIXFPS(60)
ここまで

のようにするだけで、関数側で自動調整されます。
時間の計測自体は『システム時間』という命令 がミリ秒単位でPCを起動してからの時間を返しますから、それをループの最初でtime=システム時間のよう に記録しておいて、ループの最後でtime=システム時間-timeと言う風にすれば経 過時間が分かります。
ですが、問題はなでしこの『待つ』という命令は50msec以下を指定した際に50%近くの誤差を持つため、あてになりません^^;
ライブラリは描画系の関数が一杯あるので、良ければ活用してみてください。

605 :デフォルトの名無しさん:2011/08/18(木) 16:42:17.66
>>599
やっぱり上に行ったら文字を消して下に新しくセットしなければならないんですね
でずっと試行錯誤しててオーバーヒートしてスレ見に来たら神レスが・・・
>300カウント経ったら上に~
の意味は分かるのですが、一体どういうプログラムを書けば良いか
カウントが終了して次の文字をセットする命令が思い浮かびません
表示する2000数百行を配列として使用する程度しか今は未だ分かりません
紹介して頂いたライブラリは今の私が使っても猫に小判なので、
もう少しレベルアップしましたら使わせて頂きますね

608 :デフォルトの名無しさん:2011/08/20(土) 22:01:29.29
>>605
サンプルを作りましたが、ちょっと長いのでここでは公開できませんw;
http://uproda.2ch-library.com/lib418650.nako.shtml
DLキー:nadesiko

あんまりこういう開発方法を公開している人が居ないので、情報が少ないですね。
あと、これは私なりの作り方なので、他にもやり方は色々あっていいと思いますよ。

658 :デフォルトの名無しさん:2011/11/04(金) 19:32:48.71
pngの透明部分が透明にならないような気がしたんだけどどうしたらいいだろう
透明に死体部分を適当な色であらかじめ塗りつぶした後、なでしこでそこを透明にするとかなんかそういう強引な手法しか無理かな

661 :デフォルトの名無しさん:2011/11/07(月) 03:14:23.19
> 単純で敷居が低くプログラミング入門に最適

> 敷居が低く
> 敷居が低く
> 敷居が低く

┐(´∀`)┌ヤレヤレ

663 :デフォルトの名無しさん:2011/11/07(月) 22:06:48.54
>>658
一応、白色(RGB(255,255,255))はGUI部品のイメージでは透明化=1にした時にアルファチャンネル扱いになる。
白い部分は巻き添え食らうから、予めRGB(254,254,254)くらいの灰色で乗算した画像使って、
抜きたいところを白にすれば綺麗に透明化はできる。
それにしても半透明ができないのがどうしたものか。

>>661
そんな事言う前になでしこよりも優れている簡単な日本語プログラミング言語作って下さい。
競争率が低い今作れば大きなチャンスですよ?

672 :デフォルトの名無しさん:2011/11/24(木) 02:23:22.31
よければなでしこ使ってどんなプログラム作ってるか教えて下さいな。
ちなみに自分は専らダウンロードツールとか、ゲーム用のエディタとか、TwitterのBOTとか。
こんなの作ってるぜ って自慢できるもの作ってる人いたら是非。

675 :デフォルトの名無しさん:2011/11/24(木) 23:54:31.30
>>672
標準出力ができるからCGI作ってる。

687 :デフォルトの名無しさん:2012/01/25(水) 16:20:38.92
対応してると公言はしてないが、ファイルコピー(やファイル名変更)で引っかかった覚えはないなあ
ユーザーアカウントコントロールでコピー制限食らってるとかかな?
そうでなけりゃ変数内に取り込んだディレクトリ名やファイル名を「言」わせて確認してみたら?

720 :デフォルトの名無しさん:2012/03/19(月) 23:21:58.75
何か別のプログラムに送信されちゃったとか

721 :デフォルトの名無しさん:2012/03/19(月) 23:42:46.60
>>720
なでしこ本見ながら自宅でテストしてて
Live2chの書き込みボタンがShift+Enterだったから
ウィンドウ名を指定してキー送信したんだけどダメだった

実際に会社で使っているソフトで動かしてみたら
動作に必要なボタンがファンクションキーだったので問題なく動いてる

座標を指定してマウスクリック使えば代用できるんだろうけど
なんとなくShift+Enterってどうすればうまく動くんだろうと気になったのです


723 :デフォルトの名無しさん:2012/03/23(金) 18:39:45.26
ウィンドウ名が間違っているかもしれません

724 :デフォルトの名無しさん:2012/03/23(金) 18:42:18.12
>>723の修正

>>721
ウィンドウ名が間違っているかもしれません

729 :デフォルトの名無しさん:2012/03/24(土) 14:38:42.72
おまえらもっとなでしこで何作ってるか教えてくれ
ちなみに俺は画像ダウンローダとweb(ピヨピヨ)の更新確認ソフト

736 :営利利用に関するLR審議中@詳細は自治スレへ:2012/03/31(土) 18:05:38.45
ブラウザのボタンを(バキューン!)したいのですが苦労しています。
ボタン部分のHTMLソースが
 <form>
 <input type="submit" value="送信">
 </form>
なのですが、この場合は無理でしょうか?
上記に name="button"が含まれていれば出来そうな感じなのですが・・・
よろしくお願いします。

743 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/02(月) 21:16:55.59
フォームのデザインを外部ファイルに作っておいて
それを読み込んで生成しようとしています


#ここから
データ1に「{デスクトップ}フォーム1.txt」を読む
フォーム1はデータ1
#ここまで

これだと何もない母艦が表示されるだけで何も起きないんですよね
よろしくお願いします




747 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/05(木) 21:43:07.38
指定時刻に何かしたい!
例えば・・・・
10時00分00秒に「イヤン!」と言う。
11時00分00秒に「バカン!」と言う。
12時00分00秒に「あなた、エッチね・・・・」と言う。
こんな感じです!
何か良い方法ありますか?
上手にやってる方いますか??
よろしくお願いします。


748 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 00:03:34.23
>>747
タスクスケジューラ使えばいいんじゃない?
あえてなでしこだけでやろうとするなら
母艦の可視をオフにして常駐させとくとか

749 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 10:05:40.27
>729
60FPSで動くことを目標としたゲーム、ちっちゃなSTGとか。
プログラミング外の事を人に教えるときに便利なんだよね。

>747
Windowsにはcronないからなぁ。
アプリケーションが重くなりそうだったら定期実行用の軽量なやつ一個書いて、
そこから引数つけて別で起動するってのもアリだと思う。

750 : ◆./vIcLJ51. :2012/04/06(金) 16:36:19.32
>>747
#-----------------------------------------------------------------------
▲最初
もし、今が「10:00:00」ならば、
  「イヤン!」と言う。
もし、今が「11:00:00」ならば、
  「バカン!」と言う。
もし、今が「12:00:00」ならば、
  「あなた、エッチね・・・・」と言う。
最初に飛ぶ
#-----------------------------------------------------------------------
では?

752 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 20:42:45.53
今とターゲット時間の差を待てばよろし

753 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 23:23:08.54
>>752 ありがとうございます!
僕のパソコンは時計の精度が悪いようなので
途中「NTP時刻同期」を入れる等して正確な時間に
発動出来るようにしたいです。

758 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/10(火) 10:45:35.78
母艦が固まる
CPU使用率が100%

これらはビジーループ(ウェイト)が原因。
なでしこではループのどこかに「秒待つ」を入れればおk。
例えば>>750なら、▲最初の次の行か、最初に飛ぶの前の行に0.01秒待つを入れる

無限ループでのイベント処理は、タイマー部品を使うほうが楽かも

780 :デフォルトの名無しさん:2012/05/09(水) 09:27:46.48
特定のURLからwebサイトを1KBだけダウンロードしたいです
なにかいい方法を知っていたら教えください

785 :デフォルトの名無しさん:2012/05/16(水) 11:56:53.80
質問させてください


フォーム上で範囲を決めてフォーム上の任意の場所を(バキューン!)した時に
どのマスに当てはまったのか判定したいと思います


□□□□
□□□□
□□□□
□□□□        □が範囲で部品など見える物ではない



どうやって処理を考えたらいいのか
ヒントでいいのでよろしくお願いします。


http://toro.2ch.net/test/read.cgi/tech/1252060267/l50/../人気ブログランキングへ

PC等懐かしきベーマガの面白かった投稿プログラムを語る

1 :おっさん:04/12/18 22:09:59
92,12,150,PC-9801,Castle,キャッスル,
94,6,103,PC-9801,双刀魂Double Sword Spirits,ダブルソードスピリッツ
94,9,106,PC-9801,ケロケロバレー,ケロケロバレー

が、面白かった気がする。
いやー、basic言語をちまちま打ってたあの頃がなつかしい。

やっほーで検索したらケロケロバレーだけ見つかったけど
他2つは見つからず。
誰か知らぬか・・・。

14 :デフォルトの名無しさん:04/12/26 21:11:28
おれ、ベーマガのウェブ(ピヨピヨ)の閉鎖直前を全部ダウソして持ってる。

31 :デフォルトの名無しさん:2005/07/05(火) 23:44:55
もーねーー

35 :14:2005/07/06(水) 01:02:46
>>31-32,34
早く取れ
http://www2.arcadiaexpress.net/up/src/up5175.zip


172 :デフォルトの名無しさん:2010/06/24(木) 22:30:22
http://cyclotron.mine.nu/up/src/cyclotron_n3979.zip.html
DLKey は bm な。

186 :デフォルトの名無しさん:2010/07/01(木) 20:46:23
事実上ダンプリストと変わらないよな、というプログラムはあったけど、
ベーマガはBASICのソースリストしか載せない、という縛りがあったはず。
(昔は縛りが無かったかも?)

212 :デフォルトの名無しさん:2010/07/30(金) 09:38:30
172のやつ主にリンク関係とか地道に直してるんだが

./bm/history.html

> 「連載終了」という言葉が、いろいろな人を怒らせてしまったようなので、「ベーマガその2」という言葉に変更します。


239 :らくがき うごいた:2010/10/16(土) 20:30:54
http://www.age2.tv/rd05/
UP10775.TXT パスは単純に『1234』 
1994年4月号に載った『らくがきうごいた』誰かバグをとっていただけ
ないでしょうか。SCREEN命令で躓いてしまいます。
動作環境はpc9821ls13aile+WIN95+N88日本語BASIC・DOS版
です。

240 :デフォルトの名無しさん:2010/10/18(月) 00:19:08
120行目にSCREE発見w

241 :らくがき うごいた:2010/10/18(月) 10:16:30
>240
ありがとう!
だけど、
Illegal function call in 900
とでて動きません・・・。


242 :デフォルトの名無しさん:2010/10/18(月) 11:12:13
>>241
実行環境無いからエラーの特定方法だけ。
illegal function call はステートメントの使い方が間違ってるから
まず4つあるステートメントのどれで発生してるか分離して。
行番号が変わらないよう900~903に1行ずつSCREENからWIDTHを分解、
んでもう一度実行して場所を特定して。
後はそのステートメントのパラメータをマニュアルで調べればおけ。

244 :デフォルトの名無しさん:2010/10/19(火) 13:19:06
DOSBASICとDISCBASICでSCREENの仕様違わなかったっけ?

254 :デフォルトの名無しさん:2010/10/20(水) 07:38:24
basicからMSDOSに戻るにはどうしたらいいの?
記憶ではEXITだったと思うんだが。

258 :デフォルトの名無しさん:2010/10/20(水) 20:04:16
>>239
らくがき うごいた

プログラムコードをチェックした。
単純な入力ミスが目立つ、エラー行を確認してみなさい。

以下に添付する
http://www.age2.tv/rd05/
up10880.txt
http://www.age2.tv/rd05/src/up10880.txt


266 :デフォルトの名無しさん:2010/11/04(木) 22:44:15
こんな雑誌を読んでた奴らは、今はネットウヨクなんだろ?

274 :デフォルトの名無しさん:2010/11/06(土) 22:13:01
>>239
らくがきうごいた作者です。
ふとベーマガのことを思い出して検索したら移植の話が出ててビックリ。
ありがとう!


292 :デフォルトの名無しさん:2010/11/07(日) 18:59:39
274です。なんかみんなありがとう(´;ω;`)
ライセンス云々はベーマガの投稿規約で何かあった気がしますが
個人的には今更どうこういう気はないです。
というか、自分も久々に遊んでみたいです。
290さんに期待!

309 :デフォルトの名無しさん:2010/11/12(金) 18:19:12
http://www.dotup.org/uploda/www.dotup.org1246284.zip.html
とりあえず、試作品

314 :デフォルトの名無しさん:2010/11/13(土) 20:24:13
>>309 やったな、えらいぞ
自分は Lattice の BC で C に変換後、
コンパイルしてDOSアプリにしたかったんだけど、
830行でつまずいている。

>>309がwin32で出来上がりそうだから、あきらめようかな。


322 :デフォルトの名無しさん:2010/11/14(日) 18:39:07
99BASIC試作
http://www1.axfc.net/uploader/Sc/so/173385

324 :デフォルトの名無しさん:2010/11/15(月) 19:01:06
630 HT=HO(T)+TM*((TT)+(TT=0)) : HT=HT-4*(HT=-1)+4*(HT=4) : RETURN

これの意味がわからない

325 :デフォルトの名無しさん:2010/11/15(月) 23:31:48
>>324
俺が把握してる部分のみ

TT+(TT=0)
:TT = 0のとき-1
:TT = 1のとき+1
⇒0/1を-1/1に変換

HT=HT-4*(HT=-1)+4*(HT=4)
⇒HTの上限加減をループさせる処理

if(HT == -1)HT = 4;
if(HT == 4)HT = 0;

HT: 0:敵下向き進行、1:敵左向き進行、2:敵上向き進行、3:敵右向き進行


340 :デフォルトの名無しさん:2010/12/17(金) 20:33:21
anexでN88BASIC(DOS)は動かないと思う
今動かしてみたら強制終了してしまった


347 :デフォルトの名無しさん:2010/12/18(土) 17:17:48
バージョン違うんかね?うちでAnex86で動いてる奴↓

n88basic.exe 147968 88-07-22 00:00:02
NEC N-88 BASIC(86) version 6.0

dispell済の奴(e88basic.exe)とバイナリ比較
fc /b n88basic.exe e88basic.exe
000234D0: B9 EB
000234D1: 30 67

352 :デフォルトの名無しさん:2011/01/06(木) 06:38:59
99BASICでいいのでバーガータイム風のゲームを誰か作ってみてください。

354 :デフォルトの名無しさん:2011/01/07(金) 20:11:24
>>352
いくら出す?

355 :デフォルトの名無しさん:2011/01/08(土) 01:45:43
>>354
2~3時間以内に完成させて1000円ってとこですね。一日かけるなら+数本で5000円。
まさかこの程度の規模のゲームで何十時間もかけたうえ数万円の金がもらえるなんて
甘いこと考えてないですよね?

356 :デフォルトの名無しさん:2011/01/08(土) 02:11:02
ガキかよ。時単価8000円からだ。
3時間で完成とか馬鹿も休み休み言え、低脳。

360 :デフォルトの名無しさん:2011/01/09(日) 10:37:52
>>356
1日8時間+αで3~4本作って当たり前。一週間なら20~30作れて当たり前。東南アジアと同水準の金でやって当たり前。
なのに勘違いして時単価8000円要求?体力なくて仕事が遅いジジイはお呼びじゃないんだよ。

361 :デフォルトの名無しさん:2011/01/09(日) 11:58:16
すげーな
昔のプログラマは1週間で30~30本のバーガータイムを作れたのか…

377 :デフォルトの名無しさん:2011/01/15(土) 22:00:14
なんか面白そうだね
誰かソースかスキャンしたのうpってくれない?>らくがきうごいた

379 :デフォルトの名無しさん:2011/01/16(日) 11:24:39
>>377
http://www5.puny.jp/uploader/download/1295144588.BAS
ダウンロードパスはraku

388 :デフォルトの名無しさん:2011/01/20(木) 09:17:32
http://www5.puny.jp/uploader/info/upload_id/1908200468
ベーマガの98大全集をアップします。パスワードは『1234』です。

394 :デフォルトの名無しさん:2011/01/20(木) 20:10:47
>>388

このアップローダーでよろしく
http://www.axfc.net/uploader/


400 :デフォルトの名無しさん:2011/01/21(金) 02:37:16
>>394
アップしました。
Sc_196449.lzh



413 :デフォルトの名無しさん:2011/01/31(月) 03:16:55
NEC JIS → UTF8 コンバータを作ったよ。
>>400 とかのファイルを変換して、ある程度読めるようになった。

http://kushi.lv9.org/nec2utf8.zip

416 :デフォルトの名無しさん:2011/01/31(月) 22:50:38
FM音源ドライバーズサミット
http://www.nicovideo.jp/watch/sm13077449
http://www.nicovideo.jp/watch/sm13077611

420 :デフォルトの名無しさん:2011/02/01(火) 07:42:50
>>416
Z-MUSICの西川善治は呼ばないのか・・・。

421 :デフォルトの名無しさん:2011/02/02(水) 02:21:58
>>420
鬼籍に入ってるだろ

423 :デフォルトの名無しさん:2011/02/02(水) 16:50:03
>>413
NEC JIS → S-JIS コンバータ 作れますか?

425 :デフォルトの名無しさん:2011/02/02(水) 17:42:48
>>421
西川善司、まだ死んでねえよ!現役バリバリだよ!
ベーマガや月マに寄稿してた川野俊充でもいい。

429 :デフォルトの名無しさん:2011/02/02(水) 21:17:09
昔の人はZ-80バイナリそのまま読めるので逆アセは・・・

431 :デフォルトの名無しさん:2011/02/02(水) 21:30:46
>>429
いやあそうゆわず

なんとなく本格的な感じがするでしょ逆アセンブラ動かすと。「オッオレのコンピューターも案外プロユースっぽい」とか。

436 :413:2011/02/03(木) 07:36:22
>>423
できるよ。
問題は、98の機種依存文字をどうするか。

http://www.kiwi-us.com/~ohta/pc88/kanji/
↑ 「4.N88-日本語BASIC(86)の2バイト半角文字」の右の画像中で、0x80-0x9F、0xE0-0xFC の範囲

この文字を今の環境で表現するにはUnicodeしかなかったから、UTF8を採用したんだ。

441 :デフォルトの名無しさん:2011/02/12(土) 17:53:22
バックナンバーってまだ買えるのかな

463 :デフォルトの名無しさん:2011/02/25(金) 09:07:22.57
ペン操作なんだからBASICとか文字使ってプログラミングじゃなくて
もっとグラフィカルな感じのプログラミングにすればいいのにな

488 :デフォルトの名無しさん:2011/03/03(木) 15:04:33.99
行番号なしと構造化文なしの組合せは相性が悪い。
GOTO飛び先を前後に探し回らないといけない、保守性が悪いよ

502 :デフォルトの名無しさん:2011/03/04(金) 13:58:16.96
制約の中でこそ、腕が鳴るってもんだ


510 :デフォルトの名無しさん:2011/03/05(土) 00:34:48.42
>>502
その通りだ。
というか、泣き言ばかり言う奴にはどうせ何も作れん。

521 :デフォルトの名無しさん:2011/03/05(土) 19:52:16.67
ELSEやELSE IFを連ねて醜くなるよりは、IF~THENだけで簡潔に書いた方がいい。
ELSEなんか無くたって、別に騒ぎ立てる必要はどこにもない。

547 :デフォルトの名無しさん:2011/03/07(月) 21:28:04.69
月刊マイコンBASICマガジンなんだから月マでいい

555 :デフォルトの名無しさん:2011/03/09(水) 12:49:05.73
1010 REM BASIC
1020 DIM ST$,F
1030 LET ST$="12.34"
1040 LET F=VAL(ST$)
1050 LET PRINT F
1060 END

558 :デフォルトの名無しさん:2011/03/09(水) 16:52:58.79
REMとかLETとかの存在意義が分からない

561 :デフォルトの名無しさん:2011/03/09(水) 20:40:27.84
>>558
コマンド名を必ず書かせる仕様にしておくと構文解析が楽だからインタプリタの実行速度が上がる。

564 :デフォルトの名無しさん:2011/03/09(水) 23:54:32.76
>>561
NEC系のBASICしかしらないけれど、1行入力した時点で構文解析されて
コマンドは中間コード化されるから、速度は変わらんと思う。

567 :デフォルトの名無しさん:2011/03/10(木) 09:43:00.59
画面のゴミかと思った

576 :デフォルトの名無しさん:2011/03/10(木) 23:13:41.73
いつぞやのベーマガでDr. Dが
リストで代入文にぜんぶLETって書いてあるのを見て
「LETは省略できるのにいちいち入力するとか乙w」みたいなコメントして
じつはLETを省略して入力してもLIST出すとかならずLET付きで表示される仕様になってて
次号でそれを説明して謝ってたことがあったが

あれはリスト入力時点で命令をぜんぶ中間コードに変換していて
さらに代入文の中間コードをLETありとなしで区別しない

って仕様のマシンだったからこその珍事だったわけです




579 :デフォルトの名無しさん:2011/03/11(金) 02:36:58.65
マダムつぐみちゃんになってるけどいいの?

584 :デフォルトの名無しさん:2011/03/11(金) 09:02:11.05
MSって当時から発想が脳みそ腐ってたんだな

615 :デフォルトの名無しさん:2011/04/04(月) 01:35:40.96
今考えてもN-TYPEはすごいと思う

621 :デフォルトの名無しさん:2011/04/05(火) 01:33:46.46
ニコニコで(笑) ニコニコは(笑)

638 :デフォルトの名無しさん:2011/06/03(金) 16:43:38.04
広告とか当時のままで読みたい

642 :デフォルトの名無しさん:2011/06/20(月) 15:26:36.06
アセンブリ言語つーか機械語ね。
それでも頑なにBASICリストで載せてたというのがベーマガ。

646 :デフォルトの名無しさん:2011/06/25(土) 09:02:50.66
>> ゲーム制作雑誌 がまぐ!
>> ゲーム制作雑誌「がまぐ!」は21世紀の現代の中学生、高校生(もしかしたら小学生も?)に向けて>>「ゲームの制作」について情報を提供する雑誌です。

なんとなく、おもしろい。
https://sites.google.com/site/gamagreader/


664 :デフォルトの名無しさん:2011/09/11(日) 00:47:07.57
雑誌じゃないけどベーマガみたいな本なら出たよ


673 :デフォルトの名無しさん:2011/10/10(月) 11:36:50.62
プチコンはELSEがないのが痛いよな……。

676 :デフォルトの名無しさん:2011/10/14(金) 20:42:05.44
こんなのあるんだー
ちょっと見てみたけどELSEないんだね

IF hage THEN hoge:GOTO @fuga
'ELSE
piyo
@fuga
...

でいいの?

680 :デフォルトの名無しさん:2011/10/16(日) 23:18:32.47
    ,, -―――
   〃:::〃::::::;;、:::::::::::ヽ
    Yア( ̄  {_:::彡::::|
    {{;ィ..::ャ=ミ ヽ::r:、|
    代・} 弋・フ / ^}リ  あんまり期待しないでよね
     ';::.:L .:::  {  r〈
     ';t‐ェェタ  イ >、_
      i:::二  / // \
       `ー</ /o\  \
        rヘo// ̄ ̄:.::\∧
        ∨//.::.::.::.::.::.::.::.::.ヽハ
        /7ロ::.::.::.::.::.::.::.::.::.::.} _}
         { |圦:.::.::.:.::.::.::.::.::.::.::「 |
        V |.:}ヽ.::.::.::.::.::.::.::.::. く|
         {ノ:ノ ハ.::.::.::.::.::.::.::.::.::.}
         ??   ∧.::.::.::.::.::.::.::.::.:}
         }リ / 〈.::.::.::.::.::.::.::.::.::}
        くく   〔.::.::.::.::.::.::.::.::.:{

691 :デフォルトの名無しさん:2011/11/04(金) 18:46:09.38
glibcをつくるにはgccが要るがgccが動くにはglibcが要る
て話もあるな

698 :デフォルトの名無しさん:2012/01/06(金) 05:39:08.89
倉庫番系のパズルで、メデューサの石像動かすゲーム知ってる人いないかな。
メデューサの正面に移動すると石化してゲームオーバー。
メデューサを全てメデューサ同士で石化させると面クリア。

今考えても、よくできたパズルゲームだった。

705 :デフォルトの名無しさん:2012/02/10(金) 12:37:31.82
>>698
それ、PC88SR用の「medusa」っていうゲームです!
っていうか作者本人ですw
覚えてくれてたとは・・・嬉しすぎる(´;ω;`)

706 :デフォルトの名無しさん:2012/02/10(金) 20:58:37.24
>>705は仕事何してるのか気になった
やっぱコンピュータ関係?

718 :デフォルトの名無しさん:2012/06/20(水) 20:54:07.85
タイトルがわからないゲームがあります。
まず絵を描きました。
http://www.kaki-kaki.com/bbs_test/view.html?578043

「ベーマガ」にのっていた「VICTOR of BATTLE」に
とても見た目が似ているが、リングアウトのルールは有りません。
http://www.north-wind.ne.jp/~yoshino/bmpg/watch.php?id=1999010127
http://hp.vector.co.jp/authors/VA015468/prog/vob/index.html

719 :デフォルトの名無しさん:2012/06/20(水) 21:05:08.09
>>718
補足していきます。
各キャラの必殺技
キャラ1 連続打撃 めまぐるしくパンチやキックを連打する
キャラ2 自分を中心に円状のエネルギーを発生させる(チュンリーの技にあった?)
キャラ3 投げ技、空中にジャンプし敵を地面にたたきつける。
      すると#みたいなエフェクトが出た

720 :デフォルトの名無しさん:2012/06/21(木) 03:50:14.23
ベーマガ投稿プログラム
http://www.north-wind.ne.jp/~yoshino/bmpg/index.php


722 :デフォルトの名無しさん:2012/06/21(木) 23:19:05.84
N88ってPC98シリーズでも使えるんじゃないの

728 :デフォルトの名無しさん:2012/06/22(金) 01:37:09.30
>>719
そんなゲーム俺もプレイした記憶がある
10年以上昔のことなんてはっきりとは覚えてないもんだな

732 :デフォルトの名無しさん:2012/06/22(金) 02:19:41.23
ときどき高齢者のプログラムの投稿があったよな
あれって本当に実年齢なんだろうか
あの年齢ともなると熟練のプログラマなんだろうな

741 :デフォルトの名無しさん:2012/07/06(金) 00:36:37.89
エミュがあってもベーマガに掲載されてたコードがないことには・・・

746 :デフォルトの名無しさん:2012/07/06(金) 12:30:43.44
物は何だっけ?


http://toro.2ch.net/test/read.cgi/tech/1103375399/l50/../人気ブログランキングへ

PC等【Perl,Python,PHP】LL バトルロワイヤル 25【JavaScript】

1 :uy:2012/08/11(土) 12:21:25.19
面白かったのでコピペ

979 名前:uy[sage] 投稿日:2012/08/11(土) 11:53:55.80
面接官「特技はRubyとありますが?」
学生 「はい。Rubyでならなんでもかけます。」
面接官「ではシングルトンパターンを書いてください。」
学生 「存在しません?」
面接官「え、存在しない?」
学生 「はい。存在しません。Rubyはシングルトンパターンを言語でサポートしています。」
面接官「・・・で、その言語でサポートされた機能を使うとシングルトンパターンになるんですよね?」
学生 「はい。シングルトンパターンです。」
面接官「いや、あなたRubyでシングルトンパターンは存在しないといいましたよね。なぜシングルトンパターンになるんですか?」
学生 「でも、シングルトンパターンは存在しないんですよ。」
面接官「いや、存在しないとか問題じゃなくてですね・・・」
学生 「Rubyなら簡単にシングルトンパターン書けますよ。」
面接官「ふざけないでください。それに機能が用意されてるってことは存在するでしょ。だいたい・・・」
学生 「機能は用意されていますが言語でサポートしているんです。だから存在しません。」
面接官「聞いてません。帰って下さい。」
学生 「あれあれ?怒らせていいんですか?シングルトンパターン書きますよ。」
面接官「いいですよ。書いてください。Rubyでシングルトンパターンを。それで満足したら帰って下さい。」
学生 「運がよかったな。Rubyにシングルトンパターンは存在しないようだ。」
面接官「帰れよ。」


146 :デフォルトの名無しさん:2012/08/15(水) 15:17:03.87
Rubyはなんでdoに|つけるの?

149 :デフォルトの名無しさん:2012/08/15(水) 15:39:44.61
>>146
パイプでブロック引数をはさまないと、
それがブロック引数なのか、
単に式としてそこにあるのかが区別できない

151 :デフォルトの名無しさん:2012/08/15(水) 15:46:24.88
>>149
pythonみたいな
for t in list:
みたいにできなかったの?
絶対にこっちのほうがわかりやすいと思うんだけど||でかこったら特殊な演算やってそうじゃん

153 :デフォルトの名無しさん:2012/08/15(水) 15:49:51.63
>>151
for t in list; end という構文も最初から存在していますけど、なにか?

162 :uy:2012/08/15(水) 16:52:58.51
rubyで一番よく使うのはmap、これは戻り値に配列を返す
普通に書いたら
p [1,2,3].map { |x| x*2 } # => [2, 4, 6]

だけど、メソッド(イテレータ)チェインする事によって、本来配列を返さない
each_with_indexなども
p [1,2,3].each_with_index { |x,i| x*(2+i) } # => [1, 2, 3]

mapを置く事による戻り値を変えられる
p [1,2,3].each_with_index.map { |x,i| x*(2+i) } # => [2, 6, 12]


これをforで書くとこう
s??=??[]
i??=??0
for??x??in??[1,2,3]
????s??<<??x*(2+i)
????i??+=??1
end
p??s

for文とイテレータじゃ力の差が有りすぎて異論の余地すらない

177 :デフォルトの名無しさん:2012/08/15(水) 18:40:16.04
だから、分かりやすいのがよいなら、
一時変数用意すればよいだろ。何の説明も要らなくなるよ。

181 :153:2012/08/15(水) 19:14:29.25
>>177
一時変数は悪ではないし、否定しないよ
実際に実用的なプログラムでは、あまりに長いメソッドチェーンを
途中で切って、間に一時変数を入れることがある
ただし、一度代入したら二度と更新しない

問題は変数の「破壊的代入」
たとえば>>162の最後にあるforを使った手続き型スタイルでは、
最初にリスト変数とループ変数に初期値を代入した後、
forループ内でこれら変数をゴリゴリと更新(破壊的に代入)している
これが可読性の悪化とコード品質の低下をまねく要因

なお破壊的代入の無さは、専門用語だと「参照透明性」と呼ばれる

191 :デフォルトの名無しさん:2012/08/15(水) 21:10:40.01
内包表記が読み難いとか言ってる奴は
数学の素養が無いって自己紹介してることに気付いてないの?
かっこわるいから控えた方が良いよ

197 :153:2012/08/15(水) 21:57:54.67
>>191
自分は内包表記が読み難いとは思わないね
ただしPythonの場合、局所宣言またはクロージャがないから
せっかくの内包表記構文が台無しになっている
過去スレ19,20で議論になったコードを以下に示す

==== Haskell ====
 data Option a = None | Some a
 ys = [fn x | x <- xs]
   where fn x =
     let
       h = if is_first_page x then generate_header else None
       b = generate_body x
       f = if is_last_page x then generate_footer else None
     in
       (h, b, f)

Haskellには局所宣言としてwhere節があるから、関数fnを定義することで
内包表記を含む式をトップダウンに数学っぽく記述できる

==== Python ====
 ys??=??(Document.new(h,b,f)??for??x??in??xs
   for??h??in??[generate_header()??if??x.is_first_page??else??None]
   for??b??in??[generate_body(x)]
   for??f??in??[generate_footer()??if??x.is_last_page??else??None])

このPythonコードが何をしているかどうか、はたして一目で把握できるかな?

198 :153:2012/08/15(水) 22:01:18.03
参考として、>>197に関するRubyのコードを過去スレからコピペする

==== Ruby ====
 ys = xs.map { |x|
   h = if x.first_page? then generate_header else nil end
   b = generate_body x
   f = if x.last_page? then generate_footer else nil end

   Document.new h, b, f
 }

Rubyには内包表記構文は無いけれど、普通に書ける(実に初歩的なコードだ)

211 :デフォルトの名無しさん:2012/08/15(水) 22:52:50.85
>>197をPythonで(RubyやHaskellのコード相当で)書くならごく素直に

def preprocess(x):
h = generate_header() if x.is_first_page else None
b = generate_body(x)
f = generate_fotter() if x.is_last_page else None
return h, b, f
ys = [Document(preprocess(x)) for x in xs]

じゃないかと。まずリスト内包で書くことはない

235 :153:2012/08/16(木) 10:04:35.58
>>211
ん、最終行にはリスト内包表記が見えるけど、気のせいかな?

それはさておき、Pythonでは「ごく普通に」関数を定義して適用するのに対して、
Ruby(および関数型言語)では「ごく普通に」ブロックや無名関数を使って
シンブルな式として表現できる、ということになった
また当たり前だけど、>>211のような関数を定義するコードはRubyでも書ける

これは>>197,198で述べたように、関数型言語風プログラミングにおいて
局所宣言が無いというPythonの欠点、そしてRubyの優位性を示している

237 :デフォルトの名無しさん:2012/08/16(木) 11:05:52.40
>>235
Rubyは関数内関数を素直に定義できないじゃん
Proc??と??lambda??の違いとかキモイし
どさくさにまぎれて関数型言語と一緒にすんなよ

243 :153:2012/08/16(木) 14:13:16.73
>>237
>Rubyは関数内関数を素直に定義できないじゃん

エッ!、Rubyは普通に関数内関数を定義できるよ???
以前(1.8)は関数内関数のスコープに問題があったけど、今(1.9)では解消されたし

・メソッド定義のネスト - Ruby 1.9.3 リファレンスマニュアル
 http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fdef.html#nest_method

というか、OOPLであるRubyでは、プライベートメソッドとして定義するのが一般的で、
関数内関数はまず目にすることはない
しかも(>>211のPyhtonのような)他LLでは関数定義を「普通」に使うけど、
Rubyならブロックがあるから一度しか適用しない関数は式の中に埋め込むのが「普通」
つまり、(関数内関数を多用せざるをえない他LLと違って)関数内関数を使う頻度は少ない

>Proc??と??lambda??の違いとかキモイし

確かにProcとlambdaの微妙な差異は分かりづらいよね
でもRubyにはブロック構文があるから、(Procやlambdaのような)明示的な無名関数宣言を
使う頻度は比較的少ないし、使うケースでもどちらか一方を使えば済むことが多い
また、言語の微妙な弱点を避けて、良い点を引き出すことに注力することが
(Rubyに限らず)中級プログラマのたしなみの一つだと考える

>どさくさにまぎれて関数型言語と一緒にすんなよ

え、一度も「Rubyは関数型言語である」とは言ってないけど.....???
「関数型言語風プログラミングには(他LLよりも)Rubyは明らかに優れている」と主張している


244 :デフォルトの名無しさん:2012/08/16(木) 14:25:57.61
>>243
>??エッ!、Rubyは普通に関数内関数を定義できるよ???

はあ?じゃあ何で関数内関数が外から見えてんだよ

http://ideone.com/4J057

245 :デフォルトの名無しさん:2012/08/16(木) 14:42:18.11
>??つまり、(関数内関数を多用せざるをえない他LLと違って)関数内関数を使う頻度は少ない

関数型言語でも関数内関数を多用するけど...?

「関数型言語風プログラミング」って何?
それってただの「Ruby風プログラミング」なんじゃないの?

248 :153:2012/08/16(木) 14:50:55.63
>>244
わざわざideon上のコードを引用しなくても、Rubyの振る舞いは>>243で示した
リファレンスマニュアル「普通のメソッド定義式と同じ」の通りだよ???

確かに、理想的には内側のメソッドが外部から隠蔽されたほうが望ましいことは認める
これが>>211のPythonコードのように、関数定義を多用するのが「普通」、
あるいは関数定義を多用「しなければならない」言語であれば、致命的な欠陥になる
でも>>243で述べたように、Rubyでは関数内関数の必要性がほとんど存在していないんだ

もしも可能であるならば、ブロックやプライベートメソッド定義では読みづらかったり
冗長だったりするけど、関数内関数であれば素直に表現できるコード例を示してほしいなあ...


255 :153:2012/08/16(木) 15:41:10.73
>>245
>関数型言語でも関数内関数を多用するけど...?

うん、関数型言語では関数内関数でプログラムを構築していくのが普通だね
でもRubyはオブジェクト指向言語であり(>>243の最後で書いたように)関数型言語ではないから、
モジュールやクラスでプログラムを構築するのが普通なんだ

>「関数型言語風プログラミング」って何?

「(破壊的代入を含む)副作用を避けた参照透明性のあるプログラミング」(>>181も参照)

これは関数型言語のパラダイムと同じ
もちろん(関数内関数ではない)Rubyでは、入出力や効率(性能や資源)といった理由から
完全に参照透明性のあるコードは書けないけど、それでも副作用を極力避けたり、
参照透明性のある部分とない部分を意識的に使い分ける、あるいは副作用のあるコードを隠蔽する

現実に実用的なテキスト処理プログム開発で試したところ(全体で約20Kstep)、
8割は参照透明性のあるコードで実装することが可能だった
残る2割の部分は、トップレベルの(入出力を含む)メイン処理モジュール群と
最下層の副作用をカプセル化(隠蔽)した内部ライブラリ群になる

264 :デフォルトの名無しさん:2012/08/16(木) 17:48:13.46
旧世代的なラムダ脳にはリスト内包表記、イテレータ、ジェネレータ、デコレータを上手く使うPythonicなコードは理解出来ない
なんとかラムダで書こうとするのは、どの言語でもCみたいなコードを書く奴と何も変わらん

267 :153:2012/08/16(木) 18:11:28.09
>>264
論よりコード

270 :デフォルトの名無しさん:2012/08/16(木) 18:42:06.27
>>267
Closures in Python (part 1)
http://ivan.truemesh.com/archives/000392.html
>(ie. use a "list comprehension" - I think it reads a bit easier than using the map/lambda).

278 :デフォルトの名無しさん:2012/08/16(木) 19:02:19.29
そもそも関数定義無しに書けなきゃダメって
勝手にルール作ってるところがおかしい

285 :デフォルトの名無しさん:2012/08/16(木) 19:21:31.64
>全ての関数をラムダ式で書くわけもなく、普通に関数定義するし
普通の関数もかけるのは当たり前で、
それだけじゃつらいからラムダを導入したって話だろ。
論点ずれてるだろ。何言ってんだか。
ラムダが要らないものならわざわざ変な文法作ってまで導入するかよ。

286 :デフォルトの名無しさん:2012/08/16(木) 19:23:37.43
>>285
上のはラムダで書くべき例なの?

287 :153:2012/08/16(木) 19:26:19.29
>>278,279
あらゆる関数型言語であれば関数定義無しにかけるから、
それは「関数型プログラミング」の特徴の一つである、という理屈
だってPythonだけが関数定義が無ければ書けないんだから、
マイナス評価されても当然だろ?

というかさ、もしルールに不満があるならそれを最初に主張すべきだった
具体的には、>>235の指摘に対して即座に反論すればよかったのに....
いろいろゴネたあげく、技術論で反論できないからルールに不満を言うのは
カッコワルイと思うよ

294 :デフォルトの名無しさん:2012/08/16(木) 20:14:22.38
>>287
あれ?お前>>255でRubyはOOPLだから関数内関数無くても良いんだとか
言ってなかったっけ?
関数型言語では関数内関数あるんだからRubyではdefの入れ子で
関数内関数が定義できないのはマイナス評価されても良いの?

297 :デフォルトの名無しさん:2012/08/16(木) 20:18:08.51
(1)Pythonのlambdaじゃ書けなくて
(2)関数を定義したら冗長になってしまうほど短い

そんな例題があればいいんだよ

310 :153:2012/08/16(木) 21:19:31.47
>>294
>関数型言語では関数内関数あるんだからRubyではdefの入れ子で
>関数内関数が定義できないのはマイナス評価されても良いの?

正確には「関数内関数定義で内部の関数が外部から隠蔽されない」だね
もちろんこの点はRubyのマイナス評価であると認めるよ
また、アンカも間違いで(>>255ではなくて)>>243じゃないかな?

さらに言えば、>>297自身も(>>243,248から)引用しているように、
このマイナス評価はRubyにとっては致命的な欠点ではない
もしも致命的ではないという意見が不満ならば、
>>248の最後でリクエストしたように具体的なコードで語って欲しい

論よりコードだ

328 :デフォルトの名無しさん:2012/08/16(木) 22:02:23.59
Pythonディスりたければ、俺みたいに、
あの糞みたいな、ネスとスコープの仕様をつつけば良いのに。
あれだけは生粋のパイソニストでも擁護不可能だからね。
擁護しようものなら、
今になってnonlocal追加した事実に反してしまうしな。

333 :デフォルトの名無しさん:2012/08/16(木) 22:08:32.79
>>328
nonlocal(酷い名前だ)を追加したPython3ではネストスコープの問題は無いの?

344 :デフォルトの名無しさん:2012/08/16(木) 22:24:22.12
>>333
ああ、問題残ってるよ。代入の有る無しでスコープが切り替わる問題が。
互換性のためか残っちゃってるけど、
nonlocal追加したんなら、思い切ってこの糞仕様は廃止すべきだったな。
nonlocal有りならネストスコープ、無しならローカルスコープ。
一貫してそれでよかったんだよ。シンプル、単純、分かりやすい。
スコープ調べるのに代入の有る無し調べるとか意味わかんねー。
折角nonlocal追加したのに、なぜに。
二箇所調べなきゃならなくなったから、状況はより悪化したともいえる。

346 :デフォルトの名無しさん:2012/08/16(木) 22:26:16.84
>>344
ちょっと待てよ。nonlocal追加以前はそもそも代入不可だろ

349 :デフォルトの名無しさん:2012/08/16(木) 22:30:33.87
>>346
いや、代入できるよ。ローカルスコープの変数になるけどな。
代入があっても、nonlocalならネストスコープ。
nonlocal無くても、代入が無ければネストスコープ。
あー超ややこしいね。
単に、nonlocal有り/無しで、ネスト/ローカルが切り替わる
方が直感的で良いよなぁ。

419 :デフォルトの名無しさん:2012/08/17(金) 02:16:05.29
ラムダを多用ってどこの誰が多用してんの?

512 :uY:2012/08/20(月) 05:46:11.83
さっきちょっと書いたコードなんだけど
何も考えずに適当に書くとこうなるコードでも

n??=??i??=??0
s??=??[]
b??=??["a","b"]
[1,2,3].cycle??do??|??m??|
????n??+=??1
????i??+=??1
????break??if??n??==??21
????s??<<??m
????if??i??==??4
????????i??=??0
????????s??<<??b.first
????????b.rotate!
????end
end
p??s

↓ちゃんと書けばちゃんとブロック内に全部収まるところが、rubyが最強である所以だと思う

[1,2,3].cycle.take(20).each_with_index.each_with_object??[??s??=??[]??,??["a","b"]??]????do??|??(??m??,??i??)??,??(??s??,??b??)??|????
????s??<<??m
????(??(i??+=??1)??%??4??).zero???and??s??<<??b.rotate![-1]
end
p??s

メソッド名が長かったりしてソースは長いけどアルゴリズムとしては完璧なものが書けるんだよ

519 :uY:2012/08/20(月) 16:31:55.85
40.times.map.each.with_index(1).each_with_object( [ [1,2,3] , ["a","b"] ].map(&:cycle) ).map?? do | ( m , i ) , ( a , b ) |??
?? Hash[ true , b.next , false , a.next ][ ( i % 5 ).zero? ]
end.display

puts

[1,2,3].cycle.take(40).each.with_index(1).each_with_object( ["a","b"].cycle ).map?? do | ( m , i ) , b |??
?? ( i % 5 ).zero? ? b.next : m
end.display


変数の完全隠蔽がされている

アルゴリズムとして完璧なんだよこれは


これを無駄に長いとはいわない
短くしようと思えば出来る長さなんだよ
すべてがメソッドで、その引数で構成されているから

↓これが出来る

a = [1,2,3].cycle.take(40).each.with_index(1).each_with_object( ["a","b"].cycle )

a.map do | ( m , i ) , b |??
?? ( i % 5 ).zero? ? b.next : m
end.display


520 :デフォルトの名無しさん:2012/08/20(月) 17:05:56.67
from??itertools??import??cycle

print([s??if??i??%??5??==??0??else??n??for??n,s,i
????????in??zip(cycle([1,2,3]),??cycle("ab"),??range(1,41))])

576 :uY:2012/08/21(火) 19:53:34.60
def func n , aa , bb
?? y = Enumerator.new do | e |
?? ?? a = aa.cycle
?? ?? b = bb.cycle??
?? ?? [*1..n].cycle { |i|
?? ?? ?? r = (i%n) == 0 ? a : b
?? ?? ?? e << r.next
?? ?? }
?? end
end

y = func 5 , ["a","b"] , [1,2,3]

p y.take(20) # => [1, 2, 3, 1, "a", 2, 3, 1, 2, "b", 3, 1, 2, 3, "a", 1, 2, 3, 1, "b"]

y = func 2 , [true] , [false]

p y.take(20) # => [false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true]


ゲームでインターバルの制御に使うんです


592 :デフォルトの名無しさん:2012/08/21(火) 21:51:53.70
>>576
func の中の y の代入が意味不明。
[*1..n].cycle は冗長。

def func(n, aa, bb)
????Enumerator.new do |y|
????????a = aa.cycle
????????b = bb.cycle
????????loop{ (n-1).times{ y << b.next }; y << a.next }
????end
end

enum = func(5, ["a","b"], [1,2,3])
p enum.take(25)

720 :デフォルトの名無しさん:2012/08/30(木) 16:23:23.43
大学のプログラミングでperlやってるんですが
3年になったら何言語やるんでしょう?

1年 C java Basic Javascript ruby
2年 C++ perl
な感じです。

2学期後期は何ですか?

765 :uy:2012/08/31(金) 03:21:35.57
逆に考えると専門にはいれば
論外的に才能ない奴はすぐ挫折していなくなるから、かえってそのほうが早期にIT脱出できて幸せなんじゃね
大学だと才能なくてもやめずに4年間ズルズルとやり続けて産廃になってる可能性もある
才能がないなら早めにリターンしたほうが絶対良い


http://toro.2ch.net/test/read.cgi/tech/1344655285/l50/../人気ブログランキングへ

PC等C++11/C++1y 15

1 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 15:18:20.76
The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/

Wikipedia
http://ja.wikipedia.org/wiki/C%2B%2B11

前スレ: C++11/C++0x 15
http://toro.2ch.net/test/read.cgi/tech/1321453654/

51 :デフォルトの名無しさん:2012/04/25(水) 21:53:17.91
volatileは、ポインターかアセンブリで特殊な
セグメントに設置した外部変数じゃないと意味ないから
外部変数をオブジェクトにするならPODじゃないといけないし、
コンテナは使えない

58 :デフォルトの名無しさん:2012/04/26(木) 10:08:51.40
>>51
マルチスレッドで共有しているオブジェクトとか…

134 :デフォルトの名無しさん:2012/05/05(土) 19:19:51.80
ところで
constexpr constructor
って初めて聞いたけど、どこで使うんだ?

148 :デフォルトの名無しさん:2012/05/05(土) 21:31:04.81
#include <iostream>
using namespace std;

struct X {
const int x;
X(const int& x): x(x) {}
X(const X&) = delete;
X& operator=(const X&) = delete;
X(X&& rhs): x(move(rhs.x)) {
cout << "called X(X&&)" << endl;
}
X& operator=(X&& rhs) {
cout << "called operator=(X&&)" << endl;
return *this = X(move(rhs));
}
};

int main()
{
X a = X(2);
cout << a.x << endl;
}

・・・誰が呼ばれたの?・・・

151 :デフォルトの名無しさん:2012/05/05(土) 21:53:02.43
>>148
C++相談スレか、初心者向けのスレに行けよ
C++03の仕様すら知らないのに背伸びするな

159 :デフォルトの名無しさん:2012/05/20(日) 12:17:02.83
>>151
ここは C++11/C++1y スレなので C++03 は関係ないし
右辺値参照を使っているレスに頓珍漢なこと言ってんじゃねえ

おまえこそ cfront 1.0 や ARM C++ の知識はあるのか

160 :デフォルトの名無しさん:2012/05/20(日) 13:06:41.48
>>159
は?一つ前の規格ぐらい把握してから来いっつうのは当たり前だろ。
なんでC++お勉強スレでも無いのにそんな一つ前の規格調べれば
わかる内容を、手とり足取り教えなきゃならん。
ここは、新規格部分の内容や影響を話し合う隔離スレだろうが。

>おまえこそ cfront 1.0 や ARM C++ の知識はあるのか
前規格と関係ないだろ理論的に考えられんのか?
そんな思考じゃデバッグも苦手だろプログラマーやめっちまえ

175 :デフォルトの名無しさん:2012/05/21(月) 00:25:24.06
RVOは戻り値最適化であって
ここでは関係なくね

177 :デフォルトの名無しさん:2012/05/23(水) 21:39:13.60
>>175
確かRVO以前の問題で
X object( 10 );と、X object = X( 10 );は
どちらかが構文糖だったはず。
どのコンパイラでもコピコンとか
別のコンストラクターは介入しない
ようになってたと思う。

178 :デフォルトの名無しさん:2012/05/23(水) 21:43:02.71
上の質問、何を気にしているかというと、

・ループの中身を別の関数で書いて
・thread数だけのプールにその関数をぶっこんで
・main内でthreadをjoinする

と書くことはできるだろうけど、
これだけのためにコードをわかりにくくする必要がないと思っていて、
この作業を抽象化したものがWikipediaで言われているthread poolだろう、
そして、それはOpenMPなみに直感的なものになるだろうと思うんだけど。

簡単にそういう高レベルな内容を実装できると思うならアイディアください。

200 :デフォルトの名無しさん:2012/05/25(金) 18:20:26.25
template <class T>
void f(T x){
  [&] {
    auto y = x;
    std::cout << (&x == &y) << std::endl;
  }();
}

int main()
{
  f(0);
}

gcc-4.7 だと true が表示されるんだけど、
これは正しい動作なのか、バグなのか。


202 :デフォルトの名無しさん:2012/05/25(金) 18:25:44.21
>>200
非明示的な型をautoで推論するとconst referenceが最優先されるからバグじゃない。

226 :デフォルトの名無しさん:2012/05/26(土) 20:38:45.93
template <typename T>
auto f = [](const T& x){return x*x;};
名付けて「テンプレートラムダ」

template using ... と似ててよくね?
ここまでやって本当の関数型言語と呼べるだよ(笑)。

229 :デフォルトの名無しさん:2012/05/26(土) 20:42:03.92
>>226
template <typename T> auto f = [](const T& x){return x*x;} + 1;
って書いたら結果どうなるんだよ

239 :デフォルトの名無しさん:2012/05/26(土) 21:33:12.85
http://codepad.org/TW17YYCe
せやろか?

252 :デフォルトの名無しさん:2012/05/26(土) 21:58:58.87
-std=??? や -ansi はそれだけで規格に厳密になるわけじゃなくて
-pedantic-errors をつけないと拡張機能が有効のまま

285 :デフォルトの名無しさん:2012/05/30(水) 22:50:04.77
この初期化ってC++03でいけたっけ?
std::vector<int> v{5,6,4,3,2,6,7,9,3};
某(ピヨピヨ)でサンプルに使われてるんだけど・・・。

287 :デフォルトの名無しさん:2012/05/30(水) 23:09:16.68
ここです
http://www2.research.att.com/~bs/

336 :デフォルトの名無しさん:2012/06/03(日) 12:27:04.88
具体的にテンプレートでどんなふうに使いたいの?

339 :デフォルトの名無しさん:2012/06/03(日) 12:37:13.03
>>336
実際自分で演算子定義して使ってたりすんだけどね

SelfType &ChangeLevel( const Type &level )
{
 if( !( 0 <= level && level <= 8 ) ) throw InvalidValueError<Type>( key );
 this->level = key;
return *this;
}
※浮動少数系の比較演算子にならい、どちらかが数字でないなら
  大小に関わらずfalseに倒れる
  文字列の変換コストが掛かるが、キャッシュしてるので
  2回目以降は速い。


341 :デフォルトの名無しさん:2012/06/03(日) 13:08:28.47
namespace ore
{
  class string: public std::string
  {
  public:
    // 比較演算以外は完全に std::string と互換で相互に変換可
    template <class ...Args>
    string(Args&& ...args): std::string(std::forward<Args>(args)...){}

    // 独自の比較オペレータ
    operator bool() const {
      if(this->empty()) return false;
      if(*this == "false") return false;
      try{ return !!std::stoi(*this); } catch(...){}
      return true;
    }
  };

  // ore::string 独自の演算子定義
  :
}


342 :デフォルトの名無しさん:2012/06/03(日) 13:17:17.12
>>341
突っ込みどころ満載ではあるが、それはともかく標準であることに意義があるんだよ。
自作なら既に出来てる。

345 :デフォルトの名無しさん:2012/06/03(日) 13:24:44.53
>>342
比較時に勝手に(しかも文字列が)変換される具体的な詳細なんて
合意がとれるわけない。

誰でも簡単に小労力で自分の好みに比較を実装できるんだから
好き勝手にやればいい

348 :デフォルトの名無しさん:2012/06/03(日) 13:32:48.03
>>345
インタプリター系言語だと何故合意がとれてるの?

2番目の理由だと、<tuple>とか不要じゃね
一行書けば誰でも作れるじゃん

351 :デフォルトの名無しさん:2012/06/03(日) 13:39:05.44
そして "0" == 0 でtrue/falseどっちを返しても非難gogoですね、わかります

352 :デフォルトの名無しさん:2012/06/03(日) 13:41:30.64
>>348
javascript のバージョンによって、ブラウザによって、
0 == "0" の意味は変わってきた(はず)

それはつまりコンセンサスが取りづらいということ。

363 :デフォルトの名無しさん:2012/06/03(日) 13:57:35.90
型安全じゃないだろ。
少なくともEffective C++にはそう書いてあるようにしか自分には読めなかったが…(不勉強であることは認める)

365 :デフォルトの名無しさん:2012/06/03(日) 13:59:54.11
>>363
あなたの型安全の定義を教えてもらえるかな?
私としては、実行時に型違反に伴うエラーが起きず
コンパイル時にチェックされることだと思ってるけど。

367 :デフォルトの名無しさん:2012/06/03(日) 14:06:21.70
>>365
型安全の定義はそのとおりだが、
10 == "10" という構文を許すためにはどちらかに自動の型変換が必要になる。
自動の型変換(コンストラクタにせよoperatorにせよ)そのものがC++では危険(必ずしも1対1に対応しないケースが往々にして生じる)なので、
この構文を許す機構が型安全でなくなる…というのがEffective C++の主張だったように思う。

369 :デフォルトの名無しさん:2012/06/03(日) 14:23:07.15
>>367
operator Type()の話じゃないの?

比較演算子とか他のオーバーロードとは別物だと思う。
>>339-340にも書いたと思うけど、文字と数値を比較して
文字列に数字以外が混じっていればfalse。これは、
doubleのNaNと同じ動作だから問題にはならない筈で
型安全に問題をきたす事は無いと思うよ。

370 :デフォルトの名無しさん:2012/06/03(日) 14:44:29.13
>>369
ああ、なるほど。
bool operator ==( int, string const & );
bool operator ==( string const &, int );
のような類を記述するってこと?それなら問題ない。
しかし、やはり標準には入れられない。
なぜなら、char*やstringの中に記述された数値列をどう扱うかは
人によって直感的でないから。
これはCording Standardsの主張だったはず。

372 :デフォルトの名無しさん:2012/06/03(日) 14:53:35.11
std::string::compare( int )を許すのなら、std::string::compare( double )も許す必要がある。
他にも数値型はある。std::std::complexや独自のものなど。
これらについての扱いをどうするのか考えなければならない。
さらに、compareだけ対応するのはおかしいので、assignやappend、その他にもこれを許す必要がある。
型*対応メソッドで爆発するから型変換をオーバーロードで(バキューン!)するのは現実的ではない。
だから型変換は別で行ったほうが良い。しかし、オーバーロードの関係上、型変換は明示的に行う必要がある。
明示的に行うということは、明示的に記述するのだが、
問題は、C++で型変換の記述がいまいち一本化されていないところ。
通常はコンストラクタで代用するが、基本型はクラスを持たないし、加えてC++はオープンクラスではないから、
後から拡張することが出来ない。
型変換はコンストラクタで一本化するとして、
後から拡張できるように、
コンストラクタをクラス外にも定義できるようにしてもらいたいところだね。

373 :デフォルトの名無しさん:2012/06/03(日) 15:00:20.51
>>370
了解。「Cording Standards」はこういう名前の文章があるの?
何かの一部に書いてあるの?

>>372
std::istringstreamが対応してる型だけでいいじゃん。
他は、各自対応すればいい。メンバー関数じゃないから拡張できる。

あと、assingやappendは数値型と互換性がないから意味が無いでしょ
元々、数値型と同じテンプレートが使えるってのがメリットなんだし。
数値型にできない事ができてもしかたない。

411 :デフォルトの名無しさん:2012/06/04(月) 21:37:26.28
0 + std::string("10") + std::string("100") == 110 // true
std::string("10") + std::string("100") == 10100 // true

529 :デフォルトの名無しさん:2012/06/30(土) 01:22:17.16
go langの型推論に感動した。
value := 0;
代入式にコロンつけりゃ推論してくれる
なぜC++もこの方式を導入しなかったんだ。

533 :デフォルトの名無しさん:2012/06/30(土) 03:42:26.61
autoあるしね

536 :デフォルトの名無しさん:2012/06/30(土) 16:46:55.89
>>533
autoじゃなくて、:=が良かったって話で。

547 :デフォルトの名無しさん:2012/06/30(土) 18:13:13.48
1言語狂信者が多いな、いつの間にRuby厨みたいなのが増えたんだ・・・

552 :デフォルトの名無しさん:2012/06/30(土) 18:22:44.85
いや一言語至上主義者が増えたな。
昔はC++関係は比較的そういう人が少ない傾向にあった。
複数の言語の中で気に入った言語があるのは良いことだが
他を排斥するようになったら終わりだ。

567 :デフォルトの名無しさん:2012/07/01(日) 21:53:08.56
>>529
そんなん、大昔の VB みたいにスペルミスのバグを防ぐために option explicit つけろってなるよ。
var value = 0; の方がずっといい。

568 :デフォルトの名無しさん:2012/07/01(日) 23:23:58.78
>>567
型推論と動的型付言語の違い分かってる?
VBのアレは、動的型付の禁止だぞ

572 :デフォルトの名無しさん:2012/07/03(火) 07:55:05.47
>>568
俺が何を言ってるのか分からないなら、
??option explicit スペルミス
でググってよ。
value := 0;
(略)
if ( hoge ) {
??valeu := 1;
}
のバグを見栄えで見つけるのが容易とは言い難いという話なんだけど。

575 :デフォルトの名無しさん:2012/07/03(火) 14:39:50.91
valu := 1; は auto valu = 1; ってことだろ
宣言なんだから

585 :デフォルトの名無しさん:2012/07/03(火) 20:02:01.05
scalaで型推論+自動変換でバリバリ持ち回られると激しく混乱してしまうのは
俺がバカなせい?

型推論使う時は明示的なキャストを、自動変換使う時は明示的な型宣言を
強制する方がソースコードは読みやすくなる気がするんだが・・・・・・

587 :uy ◆pdu1UZmweE :2012/07/04(水) 01:30:05.37
>>585
おめでとうございます
よく気づいたな

型推論(笑)をやっていったその先に何があるかというと
動的言語と同じ問題が静的言語でも発生するようになるだけだよ

型推論のせいでタイプ数は減っても、
情報が目に見えなくなるから、可読性が落ちるのもそのひとつ
a := "test"

~数百行~

b := a  ←型推論   bの型なんてわかりゃしねえ

b := bb
c := cc ッ手やるべき場所を

b := cc
c := bb ッ手やってもエラーは起きない
結局これなら中途半端に型推論とかやらないで最初から動的言語使っていたほうがいい
しかしこれから数年間は、変な奴らが型推論型推論あげまくってるから、この中途半端な概念のゴミカス型推論を使いまくった
超超ゴミッカスソースコードが量産されていくんだろうなwwww、そして10~20年後にソース引き継ぐ奴が涙目になるじゃんやったね

639 :デフォルトの名無しさん:2012/07/26(木) 13:53:33.08
本家のGoコンパイラは、C/C++とcalling convention違うからな。
奴らの特殊なCコンパイラ使わないとCのライブラリをリンクできない。
そしてC++のコンパイラはない。
だからwebkitとかC++のライブラリをGoにラップしてポートするのは大変。
悪い言語じゃないと思うが、これじゃ普及は厳しいだろう。

644 :デフォルトの名無しさん:2012/07/26(木) 22:57:53.81
>>639
とは言え実装他にないわけだし
大差なくね?

646 :デフォルトの名無しさん:2012/07/26(木) 23:35:20.60
>>644
意味がわからん
kwsk

648 :デフォルトの名無しさん:2012/07/27(金) 20:17:06.06
>>646
Cとリンクできるコンパイラーしかないんだから、
言語上インターフェースが特殊だろうと関係ないんじゃなかろうか?
厳密にはコンパイラーが一個しか無いわけじゃないけど
同じパッケージで配布されるから実質1ソフトでしょ

658 :デフォルトの名無しさん:2012/07/28(土) 22:15:55.80
constexpr関数の中に書けてコンパイル時にエラーを出す assert があればいいのに、無いね。

659 :デフォルトの名無しさん:2012/07/28(土) 22:21:49.51
>>658
http://stackoverflow.com/questions/8626055/c11-static-assert-within-constexpr-function

664 :デフォルトの名無しさん:2012/08/02(木) 00:22:52.14
pair や tuple で返ってくるのを、
auto (v1,v2,v3) = hoge();
みたいに受け取れないかな。要は多値だけど。

initializer_list じゃなくて、returner_list とか。

689 :デフォルトの名無しさん:2012/08/05(日) 10:29:28.39
ベクトルや複素数や行列のように、
まとまった一つの数と見なすものを除けば、
式の評価値が複数になることって、
数学的にも無い概念だから、
あまり複雑に考えないほうが良いよ。

694 :デフォルトの名無しさん:2012/08/05(日) 14:29:56.86
解が解の公式の答えの事言ってるなら
std::vectorでよくね。
x.size() == 0; //解なし
x.size() == 1; //解1個
x.size() == 2; //解2個

716 :デフォルトの名無しさん:2012/08/08(水) 07:37:15.99
20.7.2.2.1 shared_ptr constructors

template<class Y, class D> shared_ptr(Y* p, D d);
8. ...The copy constructor and destructor of D shall not throw exceptions.
 The expression d(p) shall be well formed, shall have well defined behavior,
 and shall not throw exceptions.

なので、例外投げる削除子を shared_ptr に使ってはいけない。

719 :デフォルトの名無しさん:2012/08/08(水) 08:31:48.50
>>716-717
削除子の呼び出しが例外を投げるかどうかじゃなくて、 712 が聞いてるのは
削除子のコピーが例外を投げるかどうか、だろ。その規定は関係ないよ。

738 :デフォルトの名無しさん:2012/08/13(月) 20:29:38.11
decltype(*this)
ってできないんだね
子クラスの型情報を親クラスで処理したかったのに


756 :デフォルトの名無しさん:2012/08/16(木) 21:26:02.82
$ cat sizeof.c
#include <stdio.h>
int main()
{
printf("%d\n", sizeof('a'));
return 0;
}
$ gcc sizeof.c && ./a.out
4
$ g++ sizeof.c && ./a.out
1

面倒な・・・w



757 :デフォルトの名無しさん:2012/08/16(木) 23:22:01.11
http://www.bohyoh.com/CandCPP/FAQ/FAQ00004.html
C と C++ で違ったのかよ

761 :デフォルトの名無しさん:2012/08/17(金) 01:29:47.81
横からだけど初めて知ったわー
むしろCの方が何故intにしようと思ったんだろう


http://toro.2ch.net/test/read.cgi/tech/1333433900/l50/../人気ブログランキングへ

ゲームお前ら、プログラミングくらいできるよね

1 :名無しさん必死だな:2012/06/10(日) 03:26:38.83 ID:vBrQcyu40
ゲーム制作はもちろん、職業プログラマ以外にも必須のスキルですよ

66 :名無しさん必死だな:2012/06/10(日) 07:25:22.55 ID:pb4FhAB90
再帰呼び出しが未だに理解できない


84 :【釣り】はなやに【全滅論者】 ◆KQ12En8782 :2012/06/10(日) 08:45:31.63 ID:yDAuMCI90
やっぱり、職業プログラマーぐらいはいても、
自分で作ったソフトを公開してるまでの者は
そうそういないもんだねぇ、ゲハには。


91 :名無しさん必死だな:2012/06/10(日) 09:07:28.86 ID:imQKtjhT0
COBOLなら少しは書けるが何の役にもたたんレベルだわ

133 :転載禁止:2012/06/10(日) 11:00:04.62 ID:9PLaGMAk0
日常作業の効率化って意味ではとても有効なんだよね
お前らWindows Power Shellって知ってるか?あれ凄いんだぞ

167 :名無しさん必死だな:2012/06/10(日) 11:24:26.93 ID:huheNZHI0
裏の仕組みってわかってしまったらつまらなくならない?
苦労して達成できたもんが数値のやり取りで終わってるむなしさを知ったときとか

197 :名無しさん必死だな:2012/06/10(日) 12:15:40.70 ID:dYJqQy5f0
プログラマほど、理想と現実がかけ離れた職業もないよな
ほんと現場みるとIT土方って言われても仕方ない

203 :名無しさん必死だな:2012/06/10(日) 12:24:59.10 ID:6Vzq/HxX0
>>197
よくIT土方っていうけど、
リアルの土方は体動かすし、徹夜もしないだろうから
健康面ではいくらかマシだと思う

210 :名無しさん必死だな:2012/06/10(日) 12:33:24.39 ID:zx+fRwqb0
リアル土方で徹夜作業させたら事故起こって洒落にならんからな

258 :名無しさん必死だな:2012/06/10(日) 15:48:10.31 ID:lo7NhakG0
プログラミングはほんと時間食い
ハマると他のことやる時間なくなってくる
まあ金使わんのでいいんだけど

294 :名無しさん必死だな:2012/06/10(日) 16:31:54.38 ID:zJAfvnkg0
オブジェクト指向を一言で分かりやすく教えてくれ


いや、オブジェクト指向を分かりやすく教えてくれる本を
教えてくれ

309 :名無しさん必死だな:2012/06/10(日) 16:43:55.65 ID:dmXCLTHG0
オブジェクト指向が分かる≒デザインパターンが分かる
だと思ってます。あと

・改造に対して開いている。修正に対して閉じている。
・抽象的な処理やパラメータを内側へ。具体的な処理やパラメータを外側へ。

この辺が何となくイメージできることかな。


323 :名無しさん必死だな:2012/06/10(日) 16:55:00.98 ID:yGAauKHm0
ゲーム作ったことないから分からんけど
キャラクラスみたいなもんを作って
プライベートに名前やHPやMPやステータスおいて
パブリックにGetHP()だとかSetMp()みたいなもん作ってやるのが
オブジェクト指向なん?
つうかclass使えばたいていこういう処理になるんじゃないの?

341 :名無しさん必死だな:2012/06/10(日) 17:21:04.21 ID:yGAauKHm0
Cのポインタの使い方みたいなのは構造体で覚えたな
*prev、*nextでつなげていくやつ

342 :名無しさん必死だな:2012/06/10(日) 17:22:24.88 ID:l9zgC5IO0
x++と++xの違いってなんだよ

346 :名無しさん必死だな:2012/06/10(日) 17:26:43.20 ID:lo7NhakG0
関数型っていってもLispだから純粋なもんじゃないけれども
全ての要素がS式から派生してるってところが面白い
Project Eulerとかでちょいちょい練習中

353 :【釣り】はなやに【全滅論者】 ◆KQ12En8782 :2012/06/10(日) 17:50:04.96 ID:yDAuMCI90
>>341>>342は、悪いプログラムの代表例。

言語仕様の説明のためにサンプルが本などには書かれるけど、
実際の現場でチェーンポインタとか
配列の[]のなかにx++とか入れる記述は、
間違いなく行儀の悪いプログラム。

上記の記述は、仕様変更が発生すると対応しにくいからねぇ。


355 :名無しさん必死だな:2012/06/10(日) 17:54:38.27 ID:p2TxxeHy0
vita版プチコンでたらvita買う(wifi版だけど)
必死にグラ作って背面タッチでブラジャーの背中ホック外すゲーム作る

372 :名無しさん必死だな:2012/06/10(日) 18:52:55.68 ID:/kQsw9dI0
>>353
ちょっとまて
>>341はただのリスト構造だろ

390 :名無しさん必死だな:2012/06/10(日) 19:29:25.91 ID:UGFYaNpL0
>>309
>・改造に対して開いている。修正に対して閉じている。
>・抽象的な処理やパラメータを内側へ。具体的な処理やパラメータを外側へ。

正直ワカンネーwww 

改造と修正の違い、 外側と内側の違いをおしえてたもれ。



394 :名無しさん必死だな:2012/06/10(日) 19:54:09.56 ID:axCuFgpN0
PGできないけど、絵描けるし
フォトショやイラレ、アフターフエクトやプレミアムとか
mayaとか動かせるけど、PGできないと駄目?

402 :名無しさん必死だな:2012/06/10(日) 20:07:15.62 ID:a9E37nAu0
なんで英語なの
オリジナル言語でプログラムしてる奴いないの

429 :名無しさん必死だな:2012/06/10(日) 21:07:33.03 ID:ujUNaP/GO
他業では意味ないスキルだから死ぬまで英数字見てろ
退職したら何すんの?

441 :名無しさん必死だな:2012/06/10(日) 22:14:31.06 ID:+FRlGyTy0
>>258
一時期、参考書と開発環境の更新でアホみたいに金使ってしまったわ・・
特に開発ソフトのほうは本当に無駄金だった・・・
結果的に何も出来るようにならなかったしなあ・・ ('A`)
俺に自学自習は無理だった

443 :名無しさん必死だな:2012/06/10(日) 22:26:01.62 ID:rJoYJhfI0
>>441
最近はフリーや商用しなきゃ無料の開発環境とかも沢山あるから、自習には困らなくなったね
でもグラフィックス命令とかは昔より遠い世界になった気がする…

444 :【釣り】はなやに【全滅論者】 ◆KQ12En8782 :2012/06/10(日) 22:30:08.87 ID:yDAuMCI90
>>443
最近のDirectXは、3Dばっかり使われるようになって
2D描画の資料がロクにないからだな。


449 :名無しさん必死だな:2012/06/10(日) 22:49:26.35 ID:+FRlGyTy0
>>394,429
テレビで見たんだが、たしか芸術畑の人が、自分で表現したいものを作るために
1年くらい?でプログラム学んで何か作っててすげえなあと思った記憶があるなあ

まあせっかくパソコン使うならマクロ的な物はちょろっとでも使えた方がいいと思うけどね

466 :名無しさん必死だな:2012/06/11(月) 01:17:40.20 ID:6JDC1Xxr0
何でプログラマーって海外だと待遇良いのに日本だと土方扱いなの?

470 :名無しさん必死だな:2012/06/11(月) 01:48:52.93 ID:i5IsAEHX0
>>466
そりゃあ、能力を評価できる人が居ないからさ。
で、結局ずっと人月でしか仕事を管理できない。
有能な人も無能な人も平等。

という事で、有能な人は業界から去ってしまったか海外に行ってしまった。
いま日本に残ってるのはカスだけだ。

488 :名無しさん必死だな:2012/06/11(月) 06:43:56.05 ID:At5AMoHm0
>>91,485
昔のMacのプログラムって、コボルか何かじゃなかったっけ

495 :名無しさん必死だな:2012/06/11(月) 14:00:08.56 ID:oQUMDFZa0
優れたフレームワークを設計すれば、相対的にバグを減少させる事も可能だろうね
バグが発生しにくい、バグを発見しやすいフレームワーク

ただ、下手に天才が設計すると、バグを量産する馬鹿の気持ちが分からなくてダメかもw

499 :名無しさん必死だな:2012/06/11(月) 17:44:21.31 ID:cIbDJCa30
>>495
バグだらけのフレームワークを使わされている俺にあやまれ。

503 :名無しさん必死だな:2012/06/11(月) 20:18:08.85 ID:Vr4XRlPj0
>>499
実際、使えない所は別に作った方が楽そうw


506 :名無しさん必死だな:2012/06/11(月) 20:38:08.33 ID:i5IsAEHX0
>>488
Pascalだよw

507 :名無しさん必死だな:2012/06/11(月) 21:31:25.50 ID:At5AMoHm0
>>506
それだ!(・∀・)

511 :名無しさん必死だな:2012/06/12(火) 01:59:14.70 ID:Hj3ITGNm0
>>503
親会社の作った糞フレームワークをでつくった初期の設計書がかろうじて
改造履歴なんぞほぼ残ってないパッケージを買わされて
それを改造させられてたりすると「俺に1からやらせたら納期と費用を半分で完成させてやる」と
いいだす「ぷちいわっち状態」な人間は案外簡単に増産できるw

525 :名無しさん必死だな:2012/06/12(火) 20:01:51.45 ID:0So/aoDo0
出来るように成りたいな
高1だけど

609 :名無しさん必死だな:2012/06/14(木) 17:26:34.01 ID:2w4mDcxo0
D言語をやろう(提案

613 :名無しさん必死だな:2012/06/14(木) 17:45:36.31 ID:m42kmx8d0
仕事でプログラミングする人って、あんまり日常生活の中でやろうとは思わんのだろうか・・
サーバサイドとかじゃなくて普段使いできる技術がほしい

617 :名無しさん必死だな:2012/06/14(木) 18:24:57.68 ID:I8LuIG0V0
>>609
MT4のEA用にD言語でWin32DLL作ったんだけど、DLL関数呼び出し後にクラッシュする('A`)

MT4がEA用のスレッドを起動→mql4のinit()関数呼び出し→init()内でD言語のDLL関数を
呼び出し→MT4が内部でDLLをロード→DllMainでD言語ランタイムの用意→DLL関数の実
呼び出し→init()関数から脱出→スレッドを破棄→D言語のランタイムはまだ生きてる→ア
クセス違反→クラッシュ

多分こんな流れだと想像してるんだけど、どうすりゃいい?

621 :名無しさん必死だな:2012/06/14(木) 18:47:41.19 ID:2w4mDcxo0
>>617
ソース見ないとなんとも言えんが・・・メモリ管理が上手くいってないんじゃないのかなぁ

622 :名無しさん必死だな:2012/06/14(木) 19:01:10.21 ID:I8LuIG0V0
>>621
module main;
static int[int] Global;//__gshared int[int] Global;でもクラッシュ状況は変わらず
extern (Windows) void setHogeHoge(int key, int value) { Global[key] = value; }
extern (Windows) int getHogeHoge(int key) { return (Global[key]); }
//DllMainはリファレンス通り(D言語 Win32DLLでググれば出てくる)なんで省略。

これくらい単純にしても(MT4のmql4言語内の)init()関数が終了した時点でクラ
ッシュする。
多分、ランタイムが終了する前に、そのランタイムを整備したスレッドが終了し
てしまうのがダメなんだと思うんだが、この部分に関してはMT4側の仕様に縛
られるんで手出しできない。

623 :名無しさん必死だな:2012/06/14(木) 19:14:26.59 ID:2w4mDcxo0
>>622
んー・・・問題なさそうに見えるが・・・俺MQLの方はそんな扱った事ないから正直わからんな
他の言語からだと問題なく読み出せるのかな

624 :名無しさん必死だな:2012/06/14(木) 19:25:34.04 ID:I8LuIG0V0
>>623
他の言語からだと問題なし。

不思議なことに、C++からスレッド起動→起動されたスレッド内でDLLロード→(DLL内の
DllMain内で)D言語のランタイムを初期化→スレッド内でDLL関数呼び出し→スレッド終
了&廃棄→DLLアンロード(要するに、スレッド起動-Dランタイム初期化-スレッド廃棄
-Dランタイム廃棄と、MT4内で起こってるだろうと推測されるテレコ状態を再現してる)
しても、なぜかクラッシュしない。

もう何がなんだかorz

629 :名無しさん必死だな:2012/06/14(木) 21:08:31.67 ID:Ciwltf6j0
>>613
windowsでgui作りたいならC#一択かな
データ処理とかやりたいならスクリプト言語でいいんじゃない?
ライブラリいっぱいあるし、エディタでちょろっと書けばプログラムが動く

630 :名無しさん必死だな:2012/06/14(木) 22:13:44.20 ID:oilKuSN6i
>>613
あくまで一例で、それぞれ別の言語でも出来る場合が多いけど…

・Excel VBAで表計算が便利に
定型処理をこなせる上に、自作関数まで作れる

・Pythonを高級電卓に
似たような、でも少しづつ違う計算を何十回もやるときに

・Rubyにランダムな数を聞く
サンプルデータを考えるのが面倒なときに

・Perlでファイルの一括処理
CPANから色んな機能をダウンロードして利用できる

・Perl、Rubyで一括リネームやテキストファイルの加工を
単なる検索置換だけでなく、ちょっと複雑な要求にも答えるよ!

・VBScript、JScriptでWindows上の一括処理を
実は最初からインストールされてるんだぜ

634 :名無しさん必死だな:2012/06/15(金) 01:45:51.85 ID:sb0w01+o0
>>629
でもぶっちゃけC#で今からゼロから始めて作れるものは、
大体よりよいツールが開発されてたりしてねw
それでも作るっていうのは、役に立つからとかってよりは
趣味になっていくわな

650 :【釣り】はなやに【全滅論者】 ◆KQ12En8782 :2012/06/16(土) 16:19:34.10 ID:74GQEfd50
今ちょっと、ヌルポの発祥とされる「プログラマー」板を
見てきたんだが、やけに過疎ってるんだな。


660 :名無しさん必死だな:2012/06/16(土) 17:35:12.40 ID:O5LO58sV0
簡単に使えて小回りが利くのはVBAだな
プログラムしてるって思えるのはC++だけど

今のVC++、VC#って実行速度的には.netフレームワークのせいで、
VBと同等の速さしか出ないって本当?
10年開発の現場から遠ざかってると浦島太郎になった気分だ

662 :名無しさん必死だな:2012/06/16(土) 17:36:55.79 ID:7NRhqD560
>>660
VB.NetとC#は同じ中間言語を経てから実行ファイル化される。

665 :【釣り】はなやに【全滅論者】 ◆KQ12En8782 :2012/06/16(土) 17:47:54.10 ID:74GQEfd50
C++は、C#やJavaに比べると、
もっとCPUよりの原始的な言語だからねぇ。

>>660
C++は.netフレームワークを通さなくて
C#は.netフレームワークを通す。

.netフレームワークは、VBのランタイムみたいなもんだから、
C#はVBから発展してると考えるほうがわかりやすい。


674 :名無しさん必死だな:2012/06/16(土) 18:00:05.56 ID:UX3ents90
入門書の多くがコンソールプログラムから入るから
挫折する人が多いんじゃないかなー?とか思う
初歩の初歩とはいえ、見慣れない形で動いてても感動は少ないしなー

でもGUIから入る入門書ってのもなんか違うかw

688 :名無しさん必死だな:2012/06/16(土) 19:02:04.64 ID:mw8Vn8uA0
部品の中身を知らなくてもそれらの組み合わせで動けばいい
車輪の再発明はムダ

これらは生産性、効率の上では真だろう。だが機械と論理を理解する上では偽だ。
部品の中身を知らぬ者がどうやって機械を理解し、扱い、新たな部品を作るというのか。
抽象度の高い言語は紛れもなくアホ製造機である。アホを大量に生成しつつ部品作りを独占する。
その支配構造に対抗するには「機械部品のソフト化」を自ら習熟するしかない。

693 :名無しさん必死だな:2012/06/16(土) 19:21:10.61 ID:ApVZ6uEy0
理解を深めるなら、ある程度の模倣が出来ないと、
プリグラマから先に進めないと思う。

アルゴリズム本の課題をやってみるとかも無駄じゃない。
でも、退屈に思われるかもしれない。

しかしまだ若い中高生ならそこからやった方が、後々楽だと思う。
人の作った物を追えて、理解する力が身に付く。



705 :名無しさん必死だな:2012/06/16(土) 22:31:47.59 ID:7crTAlON0
Excel VBAしかできないぜ
Excelが時々ワークシートをエラーも返さず挿入したふりをするのに困ってるぜ

707 :名無しさん必死だな:2012/06/16(土) 22:37:12.75 ID:5jnDzuOY0
>>705
プログラマは意外とエクセルをちゃんと使えない。
そして、報告書のようなただの文章をエクセルで書いてメールに添付すると憤死するw

711 :名無しさん必死だな:2012/06/16(土) 22:44:03.78 ID:iE9uTQQD0
>>707
プログラマはちゃんとは使えないけどエクセルは大好きだろ
文書書く時用の自分好みエクセルフォーマットは誰しも持ってるはず
むしろwordで報告書を出すほうが憤死するんじゃね?w
まぁExcelVBAは経理とかのおば...おねぇさまがたのスキルには到底及ばないが

713 :名無しさん必死だな:2012/06/16(土) 23:04:12.41 ID:QF/j5P2S0
>>711
エクセルとVBAでなんでも出来ちゃうからなぁ。
設計図や法律関係の書類とかある程度のシミュレーションプログラムまでエクセルでやってるわ。
パワポもワードも使わなくなったよ。

714 :名無しさん必死だな:2012/06/16(土) 23:08:11.79 ID:meSHYQy/0
Wordはそれなりに堅いことを書くときにしか使わんな。
設計書は方眼紙みたいにしてExcelを使ってる。
Excelを経理用途に使ってる人って、浮動小数点の誤差とか考えてるんだろうか。
経理じゃ小数をあまり扱わないのか、
Excelあまり詳しくないから簡単な回避方法があるのかも知れんけど。


720 :名無しさん必死だな:2012/06/16(土) 23:24:30.54 ID:NTr5xcnI0
シェルスクリプトしか書けないから本物のプログラムがどんなもんかわからんぜ

724 :名無しさん必死だな:2012/06/16(土) 23:31:16.42 ID:5jnDzuOY0
>>720
若いプログラマは意外とシェルスクリプトが書けないw
若:perl(or ruby or python)でいいじゃん!
老:それがいつもあると思うなよ!
若:ないことないじゃん?大概あるじゃん?
老:大概あっても必ずじゃない!
という不毛な争いが・・・・・・


http://anago.2ch.net/test/read.cgi/ghard/1339266398/l50人気ブログランキングへ

学ばないブログ
忍者AdMax
記事検索
最新コメント
QRコード
QRコード
  • ライブドアブログ