ここでは、私、酒井理雄( TSUGU)がconst修飾子について解説したいと思います。 ご意見やご感想、また、ここおかしいんじゃない?というような所が あれば連絡していただけると作者が喜びます。 constの基本 ポインタ変数に対するconst宣言 メンバ変数に対するconst宣言 (作成凍結) メンバ関数に対するconst宣言 TOP C言語においてconst修飾子では指定した変数が定数である(中身を変更 できない)ことを指定します。これによってプログラマの不注意による バグの混入を防ぐことが出来ます。 const修飾子を用いたもっとも簡単な例を次に示します。 const int i = 0; i = 1; //const指定した変数(定数)に値を代入しようとしたため、コンパイルエラー この例のように定数にしたい(値を変更したくない)変数の型名の前に const修飾子を付
ぼくもYコンビネータがわかるようになるまではそうだったのだけど、Yコンビネータを使うとどのような処理ができるのかがよくわからなくて悩んでいる人が多いように思う。他の人のブログを見ても、名前をつけずに再帰ができるのがすばらしいとか書いてあったりするのだけど、それによってどういう処理ができるのかわからずにいた。 結論をいえばYコンビネータには、なにかの処理を便利にする能力はない。関数であらゆる計算ができるということが示せれば、あとは用なしだ。理論の礎としてうまってしまえばいい。 結局、Yコンビネータによってどのような処理ができるかというのは、ラムダ計算の要素のメリットをチューリングマシンの中に見出そうとしてるといえる。 ラムダ計算とチューリングマシンは、どちらも計算モデルという点では一致しているけど、全く違う。 無限であるか有限かの違いといってもいい。 チューリングマシンでは、データの量と処理
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発
小さい C プログラムを集めています。自分用のメモ書きです。同じ動作をする Ruby のプログラムと比較しても、意外に複雑な処理を簡単に記述できるのに驚かされます。先輩達がなんでもかんでも C 言語で作って行ったのが分かる気がします。しかし、ポインタの操作やメモリ管理など初心者には地雷があちこちに埋まっていそうです。Ruby でできることは Ruby でやった方が安心です。 C の関数の使い方が分からなくなったら man sprintf のように man ページを参照できます。ヘッダーファイルは /usr/include/stdio.h のように /usr/include/ 以下に納められているようです。locate で探すのも便利です。Unix は C 言語の開発環境なのだというのが実感として分かります。 C のソースをスクリプト感覚で試すには
ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も) VC++であれば、他プロセスとの共有メモリというのが実現できる。 これによって、 aaa.exe -start でプログラムをスタートさせ、 aaa.exe -stop でプログラムをストップさせられる。 また、aaa.exeがすでに立ち上がっているとき、「このプログラムは2重起動できません」と、2重起動を防止することも可能になる。 これを、Javaでやるには・・?? ※念のため。javaでstaticで行うメモリ共有は、あくまでも、クラス内、同一プロセス内のメモリ共有の話であって、他プロセスとのメモリ共有ではない。 ■VC++では、ミューテックスを使う。 Javaの前に、VC++では、どうやるか?というと、ミューテックスを使う。 ここのサイト 共有メモリを使用する http:/
最近、クラウドコンピューティングが非常に流行しています。 考え方や取り組みには非常に面白いものが多いのですが、いくつか注意した方が良いかも知れない点もあると考えています。 個人的にはクラウドコンピューティングの落とし穴は「ここは問題が無いだろう」という前提的な部分に多く潜んでいる気がしています。 以下、「落とし穴」となりそうな誤解を列挙してみました。 1. 基本的な部分 基本的な部分としては、分散コンピューティングそのものが本質的に持っている課題も挙げられます。 分散コンピューティングが本質的に抱えている問題点を列挙した「分散コンピューティングの落とし穴」という名言があります。 そこでは、よくある「誤解」として以下のように述べられています。 TCPを使っていたりすると1番は忘れがちですし、テスト環境が隣のマシンだったりすると2番も見落とす事が多いのかも知れません。 ネットワークには信頼性が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く