09/10/25 10:22:42
>>44
ある程度大きな配列で、サイズが事前にわかっているなら
動的にちまちまと拡張するよりは最初にサイズを予約したほうが効率的
なんだけど普通は気にしなくていい
51:デフォルトの名無しさん
09/10/25 10:32:17
ある程度大きな配列ったって1000や1万では話にならんけどな
なおかつインデックスで要素追加をすること前提
52:デフォルトの名無しさん
09/10/25 12:41:05
>>47
Array オブジェクトの []= メソッドはオブジェクトの内部領域にデータを追加する
だと思う
53:デフォルトの名無しさん
09/10/25 17:57:56
>>47
newは演算子でしたね
でもスクリプトの場合って
コンパイルするわけじゃないし演算子も関数も違いないような気がしますけど
構文的はOKなんですね
(ちょっと かいたスクリプトが途中で落ちてしまうのでバグの箇所を探しています・・)
>>50
なるほど、やっぱりその程度の使い方なんですね
54:デフォルトの名無しさん
09/10/25 18:26:28
>>53
Rubyだとnewは演算子でもなんでもなく、Classクラスから継承したインスタンスメソッド
URLリンク(doc.okkez.net)
55:デフォルトの名無しさん
09/10/25 18:37:40
関数だと考えるとわからなくなるというのは「クラス→インスタンス」モデルを考えれということなんだと思う
呼び名が用語的に間違っているから正しい呼び方をしろという意味ではない、たぶん
Array.new は Array クラスのインスタンス(オブジェクト)を返す
Array.new(引数つき) は Array オブジェクトを作成し、引数に応じた状態に変更してから返す
Arrayオブジェクト[インデックス]=値 は Arrayオブジェクトの []= メソッドに引数 (インデックス, 値) を渡し、
メソッドに規定された状態変更等を行ってから Array オブジェクトを返す
地の文の [] は Array.new を簡単に書けるようにわざわざ組み込まれたもので、Array.new と同じものを返す
56:デフォルトの名無しさん
09/10/25 18:41:06
インスタンスの状態なり情報を内部領域って言うのはなんか怖いな
57:デフォルトの名無しさん
09/10/25 18:42:44
クラスもまた、オブジェクト(Classクラスのインスタンス)で表される、ということが
JavaとかC++からの連想だとわからないよね。
58:デフォルトの名無しさん
09/10/25 18:58:58
>>56
C で書かれてる Array や Hash の場合は格納されたデータ本体を外部から触れないからなー
どこに格納されてると説明する?
59:デフォルトの名無しさん
09/10/25 19:07:46
>>58
まさにそういうCレベルで意識させることに「内部領域」という言葉の怖さを見てとったんだけど
それが目的なら仕方ないとしか
60:デフォルトの名無しさん
09/10/25 19:09:24
>>48
>インストールしてみましたが、シンタックスエラー?は表示されませんでした。
require 'cgi'
require 'cgi-exception'
eval <<'END_OF_SCRIPT'
# ...
# ここにコードを書く
# ...
END_OF_SCRIPT
というふうにすれば、シンタックスエラーも表示されたりしないかな。
61:デフォルトの名無しさん
09/10/25 19:21:13
>>59
URI は、インスタンス変数に URI データを格納してるじゃん
Net::HTTP も、インスタンス変数にサーバからのデータを格納してるよな
でも Array とか String とか Hash とか Regexp とかは、インスタンス変数があるわけじゃないよな
62:デフォルトの名無しさん
09/10/25 19:24:24
>>53
Array.new自体の存在意義を問うてる?
並のユーザーから見たこいつの心髄は、第二引数によるデフォルト値の設定だと思う
> ary = Array.new(3, "hoge")
=> ["hoge", "hoge", "hoge"]
> ary[5]
=> nil
> ary[5] = "fuga"
=> "fuga"
> ary
=> ["hoge", "hoge", "hoge", nil, nil, "fuga"]
まあこれといいHash.newといい、迂闊に触ると火傷するけどね
> ary[0][1] = "a" # ary[0]の二文字目を上書き
> ary
=> ["hage", "hage", "hage", nil, nil, "fuga"]
>>60
スクリプト本体を別ファイルにしてloadなりrequireすれば
問題のスクリプトに触れる前にbeginブロックが実行されるから捕捉できる
begin
load "example.rb"
rescue Exception => e
bt = e.backtrace
puts "#{bt.shift}: #{e.message} (#{e.class})<br />"
puts bt.map{|s| ">>from #{s}"}.join("<br />")
end
63:デフォルトの名無しさん
09/10/25 19:25:11
あ、CGIだっけ?content-type吐き出すの忘れてた
64:デフォルトの名無しさん
09/10/25 19:25:52
>>61
Rubyのインスタンス変数は原則プライベートだから
インスタンスがどういう情報の持ち方をしていようが何の興味もないよ
65:デフォルトの名無しさん
09/10/25 19:51:01
>>45
もしApacheを使ってるなら
Apacheの設定次第で、エラーの内容をログファイルに出すこともできる
どうしても表示されないなら試してみるのもいいかも
66:45
09/10/25 21:37:48
スクリプト本体を別ファイルにしてloadすれば、
シンタックスエラーが表示されました。
今回はこの方法を使わせていただきたいと思います。
ありがとうございました。
67:デフォルトの名無しさん
09/10/25 21:40:23
一回 ruby -wc でシンタックスチェックしてみろよ
68:デフォルトの名無しさん
09/10/25 21:43:03
というか手元に Ruby 実行環境がないのだろ
69:デフォルトの名無しさん
09/10/25 22:56:40
twitterのbotを勉強目的で作ろうとしてるんだが、こんなエラーが発生して対応できない。
誰か解決策を教えてください。twitterのライブラリは入れてあるつもりなのですが。。
エラーメッセージは下です。
# ruby ./aaa.rb./aaa.rb:2:in `require': no such file to load -- twitter (LoadError)
from ./aaa.rb:2
環境はこうなっています。
# gem list
*** LOCAL GEMS ***
actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
crack (0.1.4)
hoe (2.3.3)
httparty (0.4.3)
json_pure (1.1.9)
mash (0.0.3)
oauth (0.3.6)
rack (1.0.1)
rails (2.3.4)
rake (0.8.7)
ruby-hmac (0.3.2)
rubyforge (2.0.3)
twitter (0.6.15)
70:デフォルトの名無しさん
09/10/25 22:59:13
gem なら require 'rubygems'
71:69
09/10/25 22:59:32
実行したいソースは↓です。
#require 'ruby gems'
require 'twitter'
require 'time'
USERNAME = 'bot'
PASSWORD = '!@#QWE'
client = Twitter::Base.new( Twitter::HTTPAuth.new( USERNAME, PASSWORD ))
client.update( Time.now)
72:69
09/10/25 23:02:09
参考に観てたblogのソースだと空白が仕込まれてたみたいです。。
>>70さん ありがとございました。
73:デフォルトの名無しさん
09/10/25 23:14:53
require 'rubygems' は書くべきではない、という指摘もあったな。
1.9なら不要だし、1.8では、ない場合はどうせエラーにするだけだし、
あるならRUBYOPTにセットしとけ、みたいな感じ。
74:デフォルトの名無しさん
09/10/25 23:24:43
>>73
君は使いもしないライブラリを読み込むべきだと考えるのかね
75:デフォルトの名無しさん
09/10/25 23:30:38
RUBYOPT は自分のために自分の環境で設定するもの
他人に強制したり期待したりするものではない
76:デフォルトの名無しさん
09/10/25 23:43:48
RUBYOPT構想は結局失敗だったな
77:デフォルトの名無しさん
09/10/25 23:47:28
そもそも環境変数自体が失敗
78:デフォルトの名無しさん
09/10/25 23:57:39
使いもしないライブラリとやらが組み込まれてやんのw
79:デフォルトの名無しさん
09/10/25 23:58:47
うるせぇエビフライぶつけんぞ
80:デフォルトの名無しさん
09/10/26 00:03:54
一度でも読み込んだライブラリは二度読み込まないようにすればいいのではないだろうか
81:デフォルトの名無しさん
09/10/26 00:53:10
>>80
それはそうなってるから。
82:デフォルトの名無しさん
09/10/26 02:34:52
Ruby-mswin32版の1.9.1をインストールしたら
gemが入ってたので、ssleay32.dllとzlib.dllをbinフォルダにいれて
パスとおして
gem update --system
ってコマンド打ったら
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.5
:0:Warning: Gem::SourceIndex#search support for String patterns is deprecated
Updating RubyGems to 1.3.5
Installing RubyGems 1.3.5
D:/ruby-1.9.1-p0-i386-mswin32/lib/ruby/gems/1.9.1/gems/rubygems-update-1.3.5/lib
/rubygems/config_file.rb:39:in `new': wrong number of arguments (5 for 4) (Argum
entError)
from D:/ruby-1.9.1-p0-i386-mswin32/lib/ruby/gems/1.9.1/gems/rubygems-upd
ate-1.3.5/lib/rubygems/config_file.rb:39:in `<class:ConfigFile>'
from D:/ruby-1.9.1-p0-i386-mswin32/lib/ruby/gems/1.9.1/gems/rubygems-upd
ate-1.3.5/lib/rubygems/config_file.rb:12:in `<top (required)>'
from D:/ruby-1.9.1-p0-i386-mswin32/lib/ruby/gems/1.9.1/gems/rubygems-upd
ate-1.3.5/lib/rubygems/gem_runner.rb:8:in `require'
from D:/ruby-1.9.1-p0-i386-mswin32/lib/ruby/gems/1.9.1/gems/rubygems-upd
ate-1.3.5/lib/rubygems/gem_runner.rb:8:in `<top (required)>'
from setup.rb:25:in `require'
from setup.rb:25:in `<main>'
ってかんじで怒られた、どっか間違ったか?
83:デフォルトの名無しさん
09/10/26 06:20:08
p0で失敗しても文句は言えんな
84:デフォルトの名無しさん
09/10/26 07:12:57
うひょう、ruby1.9.1-p0 と ruby1.9.1-p243 で Win32API の initialize の引数の数が違う
p0
def initialize(dllname, func, import, export = "0")
p243
def initialize(dllname, func, import, export = "0", *rest)
rubygems-update-1.3.5 の記述
if RUBY_VERSION > '1.9' then
SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'PLPLP',
'L', :stdcall
SHGetFolderPath.call nil, CSIDL_COMMON_APPDATA, nil, 1, path
else
SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'LLLLP',
'L'
SHGetFolderPath.call 0, CSIDL_COMMON_APPDATA, 0, 1, path
85:デフォルトの名無しさん
09/10/26 08:15:39
Ruby1.9.1 の Windows 用でそれをするとはいろいろな意味でチャレンジャーというか煽り屋というか
86:デフォルトの名無しさん
09/10/26 08:20:42
そんなんただのラブレターだろ
「いますぐRuby1.9.1の最新版パッチのWindowsバイナリを公開しろ、
さもなくば基幹的デファクトスタンダードライブラリのアップデート不能を以ってRubyの価値を減じる」
というラブコール
87:デフォルトの名無しさん
09/10/26 08:26:30
最新版のWindowsバイナリー! 早く来てくれー!
俺もコンパイルに成功すれば、Windowsバイナリ公開したいのに
make test-allがなかなか通らない……
メンテナの方々はどんな作業をやってるんだろう
88:デフォルトの名無しさん
09/10/26 08:33:12
URLリンク(rubyforge.org)
ruby-1.9.1-p243-i386-mingw32 は一応ないわけでもない
89:12
09/10/26 10:14:19
>>13-18
Thanks
rspecはちゃんとck(cygwin)でも色分けできるんですけどね・・・。
TERMはcygwinでした。export TERM=xtermとかにもしてみたけど駄目ですタ(この辺よく理解してないです)
>>17
ついでにPower Shellも入れてみたんですが、UTF-8対応して中田 orz
nkfでUTF-16にしても化けるし意味わからんちん
90:デフォルトの名無しさん
09/10/26 12:49:19
とりあえず ruby が糞だということは良く伝わりました
本当にありがとうございました
91:デフォルトの名無しさん
09/10/26 12:57:45
ラブレターなら直接相手に言わないと伝わらないんじゃないか
92:デフォルトの名無しさん
09/10/26 13:07:20
>>91
リア充は帰れ
ラブレターってのは
「○○って△△さんのこと好きなんだって」
「えーうそー△△ちゃん可哀想~」
みたいに周りからじっくり攻めていくのが正しい姿
93:デフォルトの名無しさん
09/10/26 13:10:00
明らかに周りからも祝福されてねーじゃねーか
94:デフォルトの名無しさん
09/10/26 13:24:46
なにごとも一度でうまくいくことはそうそうないよ
突然話を振るよりも事前のネゴとコネと日頃のコミュニケーションが大事
95:デフォルトの名無しさん
09/10/26 13:33:47
>>92
> 「えーうそー△△ちゃん可哀想~」
やめろ
96:デフォルトの名無しさん
09/10/26 14:57:09
クソワラタwww
97:デフォルトの名無しさん
09/10/27 04:59:52
ruby1.8.7をcheckinstallでRPMパッケージを作成してインストールしたのですが、
ri -cコマンドを打っても標準ライブラリのクラスが表示されません。(Railsのクラスのみ表示される)
ri GCと打ってもNothing known about GCと出力されるのです。
これはrubyのriドキュメントがインストールされてないということでしょうか?
RPMパッケージでインストールせずにconfigureでオプション付けたりしないといけないのかな。
98:デフォルトの名無しさん
09/10/27 05:51:33
>>97
checkinstallはよくわからないけど、自前でコンパイルするときは
./configure
make
sudo make install
sudo make install-doc # ドキュメントのインストール
が必要だった気がする
99:デフォルトの名無しさん
09/10/27 05:59:15
質問です。Mershall使ってインスタンスの状態を保存しているのですが
一度インスタンスをnewしてdumpした後、その後オブジェクトを変更して
追加されたor削除されたクラス変数を検知して初期化したいです
どのようにしたらいいでしょうか 以下のようなソースです
class DataObj
attr_accessor :cnt
def initizalize
@cnt=0
end
end
class SaveData
attr_accessor :data
def initialize(file_name)
load(file_name)
end
def load(file_name)
if File.exist?(file_name)
@data = File.open(file_name, "rb"){|f| Marshal.load(f) }
else
@data= DataObj.new()
end
end
def save
File.open("test.dat", "wb"){|f| Marshal.dump(@data, f) }
end
end
100:デフォルトの名無しさん
09/10/27 06:35:07
よーわからんが、Marshalはオブジェクト全体の復元しかできない
復元してからオブジェクトが同一かどうかチェックするしかないな
101:デフォルトの名無しさん
09/10/27 06:52:34
>>100
そうですね、Marshalだとかそういうライブラリは、この際あまり関係なかったですね
保存時のオブジェクトが復元時のインスタンスのオブジェクトと違う場合を許容したい場合は
どのような処理をすればいいでしょうか、ということみたいです
クラス変数が一つ一つ存在するかチェックして、なければ初期化、しかないでしょうか
イメージとしては クラス変数にし対して obj.each{|i| i=0 if !i.exist? }
という配列処理っぽいことがやりたいです (もちろん配列じゃないのでこの操作は不適ですが)
102:デフォルトの名無しさん
09/10/27 07:22:48
クラス変数は @@ で始まる
@ で始まるのはインスタンス変数
初期化の意味がわからない
特定の条件の場合にオブジェクトを同一とみなして欲しいというときは
適宜 == メソッドを再定義して new == old を行う
class C
def initialize(params=nil); @params=params; end
def ==(other)
self.instance_variables.all? do |e|
self.instance_variable_get(e) == other.instance_variable_get(e)
end
end
end
c1 = C.new('a')
c2 = C.new('b')
p c1 == c2 #=> false
c3 = C.new('a')
p c1 == c3 #=> true ('a' == 'a' が true なので)
default = C.new
c4 = C.new
[c1, c2, c3, c4].each do |c|
if c == default then puts 'default!' else puts 'modified' end
end
# => modified, modified, modified, default!
103:デフォルトの名無しさん
09/10/27 07:29:36
>>101
>クラス変数が一つ一つ存在するかチェックして、なければ初期化、しかないでしょうか
よーわからんけど、オブジェクトにバージョン番号をつける方法じゃだめかな。
バージョン番号が違っていれば初期化、とか。
104:デフォルトの名無しさん
09/10/27 07:29:49
===
105:デフォルトの名無しさん
09/10/27 07:43:32
質問です。
1. プラットフォームがwindowsかどうかを判定する方法は、どうするのがいちばんいいでしょうか。
RUBY_PLATFORM をチェックするのが王道だと思いますが、そのチェックの仕方で悩んでいます。
2. windowではバイナリファイルの読み書きにはFile.open(file, 'rb')のように'b'をつけないといけませんが、
これはcygwinでも同じでしょうか。
('b'が必要なプラットフォームが何かを知ろうとしています)
106:デフォルトの名無しさん
09/10/27 07:58:24
fopenの仕様を読みましょう
107:デフォルトの名無しさん
09/10/27 08:04:18
皆さんありがとうございます
・・・恥ずかしながらインスタンス変数とクラス変数を勘違いしていました
>>103氏のいうようなバージョン管理でやろうとすると
class DataObj
attr_accessor :ver,:a,:b,:c
def initialize(obj) #
@ver=0
@a,@b,@c=0,1,2
end
end
class DataObj_1 < DataObj
attr_accessor :d,:e,:f # 変数を追加
def initialize(obj)
super
@ver=1
@a,@b,@c=obj.a,obj.b,obj.c
@d,@e,@f=3,4,5
end
end
current_version=1
a=load("save.dat")
a=Data_Obj_1 if a.ver == current_version # あるいは a === DataObj_1 かな?
ということでやりたいことは、できそうです スマートな方法とは言い難いですが・・・
108:デフォルトの名無しさん
09/10/27 08:08:23
すいません、最後は a.ver が 0 のとき
if a.ver < current_version の間違いですね
109:デフォルトの名無しさん
09/10/27 09:13:30
>>105
1. は URLリンク(jp.rubyist.net)
110:デフォルトの名無しさん
09/10/27 09:32:33
>>109
その記事にある「Win32API.soがrequireできるかどうか」は、
1.9だと全部ダメとか、1.8でもWINE環境でrequireできちゃう
とかあるので注意。
2の方は、いわゆるDOSISHなプラットフォームが該当する。
具体的にはcygwin以外のWindows、DOS(djgpp)、
x68000(human68k)、OS/2(emx)
111:デフォルトの名無しさん
09/10/27 09:37:09
自動で判断するぶんには RUBY_VERSION =~ /mswin|mingw/ でいいんじゃね
クラス変数とかに結果入れておいてユーザーが変更可能にしておくとかすれば喜ばれそう
112:デフォルトの名無しさん
09/10/27 09:52:38
バイナリ扱う時に環境判断せずに「とりあえずbつけとけ」ではだめなんだっけ?
113:デフォルトの名無しさん
09/10/27 09:55:16
ミリ秒の差が数千万円になるようなエッジな環境では命取り
114:デフォルトの名無しさん
09/10/27 09:55:44
>>112
それが望ましいっす。
115:デフォルトの名無しさん
09/10/27 10:32:51
>>107
Marshalで保存したオブジェクトは自分のクラスを記録してるから
別のクラスのインスタンスとして復元する事は出来ない
Hashを中間データとして使う方法をすすめる
ついでにmarshal_dumpとmarshal_loadについて調べておくといい
116:デフォルトの名無しさん
09/10/27 10:39:58
>>102で用が済むと思うのだが
117:デフォルトの名無しさん
09/10/27 11:09:13
質問します。
ディレクトリ内にあるhtmlファイルの読み込みで、Data/a/1.htmlを読み込ませたあと
Data/b/1.html→Data/c/1.html・・・とずらずらとディレクトリ違いの同じ名前のhtmlファイルを
読み込ませるにはどうしたらいいですか?
118:デフォルトの名無しさん
09/10/27 11:12:47
それに必要なのはなんだと思う?
というようなとこから考えて欲しいと思った
とりあえずいちばん簡単なの
dirs = ['a', 'b', 'c', 'd', 'e', 'f', ...]
dirs.each do |dir|
File.open("#{Data/#{dir}}/1.html"){|f| f.read}
end
119:デフォルトの名無しさん
09/10/27 11:13:36
>>117
Dir.glob("Data/*/1.html") do |file| ... end
120:117
09/10/27 11:24:16
即レスどうもです!
とても参考になります!
ちょっくら試してみます。
ありがとうございました!
121:デフォルトの名無しさん
09/10/27 22:59:08
しつもーん!
どこからも参照されなくなったオブジェクトは GC によって破棄されるだよね?
loop { /正規表現オブジェクト/ }
この場合 /正規表現オブジェクト/ はループのたびに生成されるの?
122:中田
09/10/27 22:59:18
>>89
Power ShellのUTF-8対応なんてしらん
123:デフォルトの名無しさん
09/10/27 23:04:27
>>121
いいえ、固定の正規表現リテラルはパース時にチェックされ、スクリプト内で1回だけ生成され保持参照されます
ただし、変数を #{ } などで含んでいる場合は毎回変数を参照して新規作成される
最初の1回だけにしたい場合は //o と o オプションをつける
この理屈で言うと、/re/ がたくさんあるとメモリ食う
124:デフォルトの名無しさん
09/10/27 23:19:19
>>123
なるほど、ありがとうございました。
125:デフォルトの名無しさん
09/10/27 23:23:51
>>12
cygwin1.5系や素のcmd.exeは未だにCP932だから、UTF-8はそのままだと表示できません。
考えられる方法はだいたい以下の通り。
(1)素のcmd.exeにて、nkfでCP932に変換して表示
(2)cmd.exe にて chcp 65001 によって UTF-8 モードにして UTF-8 を表示 (挙動妖しい)
(3)cygwin 1.5 にて、nkf で CP932 に変換して表示
(4)cygwin 1.7 (デフォルト UTF-8) にて UTF-8 で表示 (開発途上)
まぁ、どれもろくでもないんで、cucumberだったらHTMLにでも書き出して、
ブラウザで見た方がいいんじゃないですかね。
126:デフォルトの名無しさん
09/10/27 23:31:54
そーいえば、PowerShellはシェルとしてはcmd.exeとしては同レベルです。
コネがある方がいらっしゃいましたら、ちゃんとUnicode通るようになんとかしてやってください
127:デフォルトの名無しさん
09/10/28 00:05:56
WriteConsoleWでがんばってください
128:デフォルトの名無しさん
09/10/28 09:30:42
"123.6"をdecimalの123.6に変換するメソッド(例えばto_iのようなもの)はないでしょうか?
129:デフォルトの名無しさん
09/10/28 09:39:40
decimalではなくてfloatでした。すいません。
130:デフォルトの名無しさん
09/10/28 09:56:03
>>128
マニュアル嫁
文字列だから String のマニュアルを読む
URLリンク(www.ruby-lang.org)
131:12
09/10/28 09:59:20
ロックマンが海外で『Mega Man』の名称に変更された理由とは… - Game*Spark
URLリンク(gs.inside-games.jp)
1993年に発行されたGame Playersマガジンのカプコン副社長Joseph Morici氏のインタビューによると、
当時日本で作られたロックマンのローカライズを検討していたMorici氏は、“Rockman”というタイトル名が単純に気に入らなかったそうです。
”あのタイトルは酷すぎました。そこでMega Manという名前を思いついたんです。
するとそのアイデアは気に入られて北米版で使われることになりました。ゲーム内容は日本版と全く同じでしたけどね。”
↓
パッケージ画像
URLリンク(gs.inside-games.jp)
___
/ ||Mega|| ∧_∧
|.....||Man || ( ) どうしてこんなことに…
| ̄ ̄\三⊂/ ̄ ̄ ̄/
| | ( ./ /
132:12
09/10/28 10:00:08
誤爆
133:12
09/10/28 12:03:40
変なもん誤爆しちゃった…
>>12 の件ですが、結論から言いますと、
--color を引数に明示的に指定することで解決しました。
コマンドプロンプトでは色づけされる、んならすでに指定してたんじゃないんかい!と言われそうなのですが、
実際には指定しておらず、
.featureファイルに以下の記述をして「i18nで日本語を使う」とcucumberに知らせていた場合にだけ、
何故かコマンドプロンプトのみ色付けされるようでした。
# language: ja
--colorの指定は、ルートディレクトリにcucumber.ymlファイルを置いて、
default: features -f pretty --color -l ja
のように記述することで、デフォルトの引数を指定できました。
とりあえず、解決ということでありがとうございました。
134:12
09/10/28 12:04:50
連投スマソ
>>125
ありがとうございます。
もっとロクでもない方法(?)として、以前はRUBY_PLATFORMがwin32でTERMがnilのときだけ、
$stdout.writeでSJISにnkfで変換する方法も使ってました。
Railsスレあたりに投下した覚えがあるので検索すればでてくるかも。
cygwinはUTF-8化用のDLLを入れてあり、ターミナルソフトのck.exeでUTF-8を表示できるのですが、
cygwin上でwin32のautotest使うと、テストが再実行しようとCtrl+Cを押すと何故かされず、即終了してしまうんですよね。
最近は、coLinuxのUbuntuを入れて、かなり普通にあたりまえに動くしUTF-8も問題ないので、それでもいいか、という気がしています…。
135:デフォルトの名無しさん
09/10/28 12:19:05
cygwinのttyはWindowsのコンソールとは見なされないからね。
それはもうcygwinとmswin32を組み合わせるのが悪いとしか言いようがない。
136:デフォルトの名無しさん
09/10/28 15:05:18
拡張モジュールの中で struct FRAME や struct RNode を触りたいんですけど、ruby.hには含まれていなくて困っています。
今はnode.cから extern strct RNode { ... }; を自分のソースにコピーしていますが、
もっといい方法があると思うので、ぜひ教えてください。
137:デフォルトの名無しさん
09/10/28 15:42:49
rbbrのツリーってタブおしたら落ちない?再現率100%なんだけど
138:デフォルトの名無しさん
09/10/28 16:56:22
>>136
node.cって何?
1.8ならenv.h、node.hが普通にあるはず。
1.9なら方法はないので諦めてください。
139:デフォルトの名無しさん
09/10/28 19:18:40
拡張ライブラリのソースを ext/foo/foo.c に置いたら、extconf.rb も同じ場所に置かないといけない?
それともextやREADMEと同じ場所においておくもの?
140:デフォルトの名無しさん
09/10/28 19:21:51
gem なら Rakefile に gem.extensions = 'ext/extconf.rb' とか直接書く
141:デフォルトの名無しさん
09/10/28 20:42:02
>>139
基本的には同じところに置かないといけない。
別のところにも置くことはできるけど、それを聞いてくるということは、説明してもしかたなさそう。
142:デフォルトの名無しさん
09/10/28 22:54:07
>>136
何のために?
99%方針が間違ってる。
143:デフォルトの名無しさん
09/10/29 17:06:54
htmlファイルの読み込みについてなんですが、
マッチングでマッチした文字列以降を表示させるにはどうすればいいですか?
144:デフォルトの名無しさん
09/10/29 17:13:22
HTML あんま関係ないな
簡単なのは「キーとなる文字列の直後から必要な別のキーの直前まで」をマッチさせること
$1 とか $2 とかの正規表現の勉強をするといい
# <title></title>で囲まれた文字列
/<title.+?>(.+?)<\/title>/i =~ html
puts $1
145:デフォルトの名無しさん
09/10/29 17:14:47
>>143
コードを書いて実行すればいいよ
146:143
09/10/29 17:26:50
>>144-145
あざっす!!
147:デフォルトの名無しさん
09/10/29 18:17:28
フォームから入力されたユーザー名とパスワードで
Kerberos認証をしたいのですが何か方法はありますでしょうか?
(ApacheのBasic認証にKerberosを利用するのではなく、
Rubyで作成したCGIの任意の箇所で認証処理をしたいです。)
ライブラリ等あればいいのですが…。
Kerberos認証を行うシェルを作成して、
CGIからユーザー名とパスワードを渡して実行させるしかないですかね?
148:デフォルトの名無しさん
09/10/29 20:26:46
>>143
$'
149:デフォルトの名無しさん
09/10/29 21:34:35
>>147
使ったことないけど、URLリンク(rubyforge.org) とかかな。
150:デフォルトの名無しさん
09/10/30 10:12:29
質問
Time#to_i の秒数って、時差というかタイムゾーンとかどうなってますか?
151:デフォルトの名無しさん
09/10/30 11:07:10
そのオブジェクトが地方時か協定世界時かにかかわりなく、
to_iが返すのはUnixタイム。
152:デフォルトの名無しさん
09/10/30 11:11:15
あのへんは UTC とはなんぞやということを外部で習ってるということ前提だからな
Ruby で初めて意識したという人にとってはやや不親切だ
153:デフォルトの名無しさん
09/10/30 11:19:13
to_i で整数にして計算して at で戻すと一瞬わけわからんことに
154:デフォルトの名無しさん
09/10/31 04:36:09
教祖がデビアン住人だしな。世界の外の事は知らない。
155:デフォルトの名無しさん
09/10/31 07:35:31
>>154
どういう意味?
156:デフォルトの名無しさん
09/10/31 10:27:39
教祖とか宗教とかモルモンとかそういう単語の入ったレスは読み飛ばしてOK
NGにしておいても一向に損をしないことを保証する
157:デフォルトの名無しさん
09/10/31 16:53:54
Pentium4(HT)のWindowsXP環境で
CPUを100%使い切って計算しようとおもったら、マルチスレッド対応にしないとだめかな?
タスクマネージャーみたら、なんかCPUに余力が有るみたいなんだが・・・
158:デフォルトの名無しさん
09/10/31 17:05:46
複数プロセス同時に動かすのは?
159:デフォルトの名無しさん
09/11/01 21:12:16
>>157
HTは、1コアを2コアに見せかける技術だから、1コアをもし使いきっているなら、
タスクマネージャでどう表示されようが、100パーセント使い切ることになるように思うけど、どうだろう。
ファイルやネットワークの入出力がある場合は100パーセントになりにくいけど、
非同期I/Oを使って頑張れば100になるんじゃないかなー。
最近のCPUは2コアが普通だから、158のように複数プロセス起動しないとだめだろうね。
160:デフォルトの名無しさん
09/11/01 23:49:32
そんなことまで考えてプログラミングしてるのか
すごいなお前ら
161:デフォルトの名無しさん
09/11/02 00:06:26
"begin a,b,a,a,b end"
のような、中身が繰り返しているような文字列のマッチはどんなふうにするのがいいでしょうか?
/begin ((a|b),)*(a|b) end/
とすればできましたが、2回同じこと(a|b)を書いているのがちょっと気になります
あと、できれば繰り返しの部分を$1,$2,$3・・・のようにあとで取得したいのですが、可能でしょうか?
162:デフォルトの名無しさん
09/11/02 04:12:38
>>161
>2回同じこと(a|b)を書いているのがちょっと気になります
正規表現なら我慢して書くしかないように思う。
>繰り返しの部分を$1,$2,$3・・・のようにあとで取得したい
マッチする個数がわからないと難しい。
/begin ((a|b)(,(a|b))*) end/
として、
$1.split(/,/)
とするぐらいか?
あと (a|b) は、もしほんとにaとbを使うだけなら[ab]のほうがいい。
/begin ([ab](,[ab])*) end/
163:デフォルトの名無しさん
09/11/02 08:00:11
ここはRubyスレなので、Rubyの正規表現なら、という話なら、
(?<名前>任意の表現) と
\g<名前> の組み合わせでできる。
/begin ((?foo<(a|b)>),)*\g<foo> end/
164:デフォルトの名無しさん
09/11/02 08:06:53
Rubyの正規表現と称して>>163がOniguruma実装限定の正規表現持ち出してきたのが笑える
165:デフォルトの名無しさん
09/11/02 08:23:44
begin ~ end だけ抽出しておいてそれに (a|b) の scan かけるんじゃだめなん
166:デフォルトの名無しさん
09/11/02 10:51:59
>>164
1.9ならOnigurumaが標準だろ
167:デフォルトの名無しさん
09/11/02 10:55:27
そんな寝言は1.8.7を撲滅してからほざくがよいぞ
それまでは両バージョン用併記か注釈で対応バージョン明記
168:デフォルトの名無しさん
09/11/02 10:58:37
スレとしては 1.8.7 が推奨バージョンなんだから、
1.9 限定動作は「1.9.1 だとこれで一発」みたいなコメントはつけとくべきかもな
169:デフォルトの名無しさん
09/11/02 11:04:48
普段く1.9の質問したら、氏ね、1.8使えと煽るくせに、
正規表現は1.9で書き込むとか、
ここの住人はダブルスタンダードだな、おい
170:デフォルトの名無しさん
09/11/02 11:24:05
1.9でレスしてもいいんだがそうと明記すべきだぬ
171:デフォルトの名無しさん
09/11/02 11:24:40
いつの話だよ
さすがに今1.9を使うなって奴はいないだろ
172:デフォルトの名無しさん
09/11/02 11:28:12
>>169
だって君の言う「ここの住人」って、一人しか居ないわけでもなければ、
まったく同じ考え方をする集団ってわけでもないもの。
ダブルスタンダード認定は、前者と後者が同じ人間によって書き込まれたことを
確認してからでないと。
173:デフォルトの名無しさん
09/11/02 11:32:48
初心者が使用すべきものと熟練者が使用して便利なものとは違うということをいまさら講釈しないといかんのか
174:デフォルトの名無しさん
09/11/02 16:05:25
1.9はsp2出るまで町だな。
175:デフォルトの名無しさん
09/11/02 16:27:06
1.9.3のこと?
176:デフォルトの名無しさん
09/11/02 17:33:30
2.0マダー
177:デフォルトの名無しさん
09/11/02 17:39:55
>>171
います
178:デフォルトの名無しさん
09/11/02 21:01:12
>>168
>1.9 限定動作は「1.9.1 だとこれで一発」みたいなコメントはつけとくべきかもな
だな。1.8.7からの新機能の場合もその旨書いておいてほしいよね。
今度から>>1に追加しといてもらおう。
>>171
>いつの話だよ
>さすがに今1.9を使うなって奴はいないだろ
おまえはまず>>1を声だして100回読め
179:デフォルトの名無しさん
09/11/02 21:27:12
>>158-159
繰り返しの計算処理なんだわ
具体的には、ニューラルネットの実装やってる
はんぱない回数の計算が学習には必要なんだけど
1プロセスだと、スレッド分けしても、複数CPUは使ってくれないってことかな?
だとすると、プロセス間通信とかを眼中にいれて設計しないとダメってことかな?
ってことは、向かうところはdRubyあたり?
180:デフォルトの名無しさん
09/11/03 01:06:18
ほう、膨大な計算量を必要とする分野にも進出してるんだなあ
181:デフォルトの名無しさん
09/11/03 03:07:06
>>180
実用とか研究とかじゃなくて趣味だけどね。
Rubyでやってもいいんじゃない?ってかんじで
182:デフォルトの名無しさん
09/11/03 06:53:38
Rubyの入門書では、サンプルプログラムの出力を大抵以下のように書いてます。
puts 'Hello World!'
ですがたまに以下のように書き方も見かけます。
$stdout.puts 'Hello World!'
どっちも正しいと思いますが行儀の良い書き方という意味では後者になるのですか?
183:デフォルトの名無しさん
09/11/03 07:07:13
意味不明。内部でやってることは同じだし後者には何のメリットも無い。
184:デフォルトの名無しさん
09/11/03 07:16:11
printf("Hello World\n");と
fprintf(stdout,"Hello World\n");の違いみたいなもんだぞ
簡略できるようにしてあるのにあえて冗長に書く必要はないと思う
185:デフォルトの名無しさん
09/11/03 07:48:49
冗長に書く意味があることはありうる
が、これに限ってはまず無いだろうな
前者の関数的メソッド puts の出力先を捻じ曲げるためには $stdout をいじるしかないわけだが
それをすると後者の $stdout.puts も捻じ曲がるんで意味がない
Ruby における 関数的メソッド puts と $stdout は不可分だ(C の puts を知ってると引っかかるかも)
もしなんらかの気の迷いで関数的メソッド puts の出力先の $stdout が標準出力以外になってるなら
それは putserr とか putsfile とかなんかメソッドを新たに作るべき
むしろ後者を書かれるとがっかりだ
むしろそのサイトなり解説書なり晒せ
186:デフォルトの名無しさん
09/11/03 11:15:02
バッチファイルの作成を自動化できないものかと思い、eruby がつかえそうだと思いました。
REM *******************************************
REM * 作成者:ビル・ゲイツ(マイクロソフト) *
REM *******************************************
のようなファイルをつくりたいのですが、
REM *******************************************
REM * 作成者:<%=PERSON%>(<%=COMPANY>) *
REM *******************************************
と定義して、行の末尾の '*' の位置を変えないことってできますか?
187:デフォルトの名無しさん
09/11/03 11:17:47
つか $stdout なら write すべきだと思うんだが
$stdout が指してるオブジェクトに puts というインスタンスメソッドが定義されてる可能性はそれほど高くない
188:デフォルトの名無しさん
09/11/03 11:20:47
>>186
文字列なんだから String のマニュアルをダメもとで読め
URLリンク(www.ruby-lang.org)
189:デフォルトの名無しさん
09/11/03 11:30:54
>>187
それはputsに応答しないオブジェクトを$stdoutに入れたヤツが悪くないか?
STDOUTがIOのインスタンスなんだし、IOやそのサブクラスのインスタンスであるか
相応のduck typingができることを期待するのは当然だと
実際に期待できない例にはどんなのがある?
190:デフォルトの名無しさん
09/11/03 11:46:20
$stdoutっていずれ廃止になるんだろ?
なるべく使わない方がいいんじゃねーの
191:デフォルトの名無しさん
09/11/03 11:48:21
$stderrなら警告メッセージのテストで使うことあるな。
begin
class << (stderr = "")
alias write <<
end
# テスト
$stderr, stderr = stderr, $stderr
ensure
$stderr, stderr = stderr, $stderr
assert_match(/.../, stderr)
end
192:デフォルトの名無しさん
09/11/03 11:49:05
>>190
廃止された$defoutと混同してないか?
193:デフォルトの名無しさん
09/11/03 12:24:41
>>190が代わりに何を使う気だったのかがちょっと気になる
194:182
09/11/03 18:12:54
たくさんのレスありがとうございます。勉強になりました。
公式も見てみましたが、
単にputsとした場合はKernelモジュールのputsを指し、
そのputsはデフォルトで$stdoutに対して出力をするようですね。
やっぱり冗長なだけなようですね。
>>187
>むしろ後者を書かれるとがっかりだ
>むしろそのサイトなり解説書なり晒せ
具体的には、「JavaプログラマのためのRuby入門」という本の初っ端の例文が
$stdout.puts 'hello world !'.upcase
となっていました。
著者のartonさんはコミッタですよね?
195:182
09/11/03 18:13:57
>>187ではなく>>185でした。すいません。
196:デフォルトの名無しさん
09/11/03 18:16:55
>>194
それはJavaのSystem.out.printlnになじんだ者が類推しやすいように
そう書いてあるんじゃあないか?
197:182
09/11/03 18:36:50
おおなるほど、そういうことだったのかな…。
198:デフォルトの名無しさん
09/11/03 19:36:32
その本は読んでないけど、読んだ者が混乱するような記述なら困りものだな
後ろの章を読めばわかるのかなとは思うけど
199:デフォルトの名無しさん
09/11/03 20:34:50
モジュールの場所を知るコマンドはありますか?
perlでいう perldoc -l のような。
200:デフォルトの名無しさん
09/11/03 20:55:12
>>199
ri
refe
他にもなんかあったような気がするけど忘れた
201:デフォルトの名無しさん
09/11/03 21:01:03
>>199
gem の場合は gem which
$ gem which nokogiri
(checking gem nokogiri-1.3.3 for nokogiri)
/home/me/.gem/ruby/1.8/gems/nokogiri-1.3.3/lib/nokogiri.rb
標準ライブラリの場所を探す方法はあれば知りたい
いちいち「/usr …のどこだっけ」と試行錯誤するのは面倒
202:デフォルトの名無しさん
09/11/03 21:23:14
>>199
gem whichはgem以外にも使えたはず
203:デフォルトの名無しさん
09/11/03 21:44:58
ほんとだ知らなかった
いいこときいた
204:デフォルトの名無しさん
09/11/03 21:54:21
$ gem which uri
/usr/lib/ruby/1.8/uri.rb
ほほう
String とか Regexp とか rb のファイルになってないものは駄目っぽいな
205:デフォルトの名無しさん
09/11/03 22:11:29
>>200-202
あざっす。
206:デフォルトの名無しさん
09/11/03 22:26:20
ライブラリもいけるみたいだな。
$ gem which Readline
/usr/local/lib/ruby/1.9.1/x86_64-darwin10.0.0/Readline.bundle
>>204
StringやRegexpでどのファイルに出てきて欲しいんだw
207:デフォルトの名無しさん
09/11/04 08:30:58
>>186
>と定義して、行の末尾の '*' の位置を変えないことってできますか?
<%= str = "#{person} (#{company)" %>
REM * 作成者:<%= '%-50s' % str %> *
とするしかない。
208:デフォルトの名無しさん
09/11/04 08:31:51
間違えた。
<% str = "#{person} (#{company)" %>
REM * 作成者:<%= '%-50s' % str %> *
209:デフォルトの名無しさん
09/11/04 09:23:58
Rubyの文字列は
"hello"と'hello'のように書けますが、皆さんはどちらをメインに使っていますか?
もちろん二つの書き方には違いがあることは理解してますが、
多くのケースではどちらの書き方でも可なので、そういう場合にどちらの書き方をすべきか迷っています。
個人的にはシングルクォートをメインにして、"my name is #{name}"のような変数展開を使う場合のみダブルクォーテーションにしています。
というのもHTMLと一緒にrubyを使うことが多く、HTMLタグの値にダブルクォーテーションを使うからです。
ただ入門書やネットに転がってるサンプルなどを見ると大抵ダブルクウォーテーションのようです。
CやJavaなどの習慣でダブルを使う人が多いのでしょうか?あるいは他にメリットがあったりしますか?
210:デフォルトの名無しさん
09/11/04 10:13:32
そもそもとして、" " でも ' ' でも処理負荷的にはたいして変わらない
文字列を数まんことか大量に使用すれば若干違うかもしれんが、たぶん他の部分チューニングしたほうが速い
よって、それ以外が効いてくることになる
で、まあ、" " が人気があるのは
変数展開を入れようとしたときにクオート部分をわざわざ書き換えなくてもいいとか
\n とかがそのまま利用できて面倒がないとか
大部分のフォントで '' の文字見栄え的な安定性が低くて使っててガッカリだからとか
そういう理由だと思う
'hello\nworld' と書いてそのまま \n が表示されて「ん?」となるのは一度や二度ではない
211:デフォルトの名無しさん
09/11/04 10:27:08
俺は両方使い分けてるな
別にダブルクォートで統一してもいいとは思うんだけど
最近、なんとなくシングルクォートの方がきれいに見えるようになった
あとシングルクォートだと「ここでは変数展開をしません」という宣言にもなる
212:209
09/11/04 10:28:08
>>210
おおなるほど…分かりやすい説明ありがとうございます。
それだけ例を示されると確かにダブルクウォーテーションのほうが理にかなってますね。
213:デフォルトの名無しさん
09/11/04 10:29:56
>>211
ダブルクォートを最終的にシングルクォートに書き換えることはよくある
それはやっぱり意思表示だな
214:209
09/11/04 10:32:10
>>211
ありがとうございます。
>あとシングルクォートだと「ここでは変数展開をしません」という宣言にもなる
これは自分も思っていました。
変数展開が必要になった時にダブルクウォーテーションを使った方が目的がはっきりするというか。
215:209
09/11/04 10:42:19
ついでにRailがgenerateで吐くコードを調べてみました。
シングルクォート
flash[:notice] = 'Profile was successfully created.'
<%= link_to 'New profile', new_profile_path %>
ダブルクォート
format.html { render :action => "new" }
どっちも使ってる…。どういう基準で分けてるのかさっぱり分からない。
ただ適当なのか、何かちゃんとした理由があるのかな。
216:デフォルトの名無しさん
09/11/04 10:49:28
アトリビュートとみなせる(小さな)文字列はダブルクォートであることが多い
ハッシュのキーとか値とか、配列の短い文字列とか
あるいは生成されて埋め込まれた文字列とか
irb> 1.upto(10).to_a.map{|e| e.to_s}
["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] ←この部分をコピペ
深い意味は何もない
打ってる途中で
「あーシングルクォートでよかったなーと思ったが修正面倒なのでこのままダブルで閉じる未来の俺訂正よろしく」
とか普通なので気にしてたら禿げるぞ
217:デフォルトの名無しさん
09/11/04 11:08:33
String#inspect が吐く文字列がダブルクオートというのは意外と
強い動機になるよね。
218:デフォルトの名無しさん
09/11/04 14:10:01
>>209
>個人的にはシングルクォートをメインにして、"my name is #{name}"のような変数展開を使う場合のみダブルクォーテーションにしています。
このルールでいいと思う。あとは ¥n をいれるときとか。
219:デフォルトの名無しさん
09/11/04 18:36:31
そのルールに何の意味も無いだろ
面倒だし両方の表記が入り乱れることになるだけ
なんでダブルクウォーテーションだけで済ませるのが嫌なんだ?
220:デフォルトの名無しさん
09/11/04 18:48:35
変数(というか、式)展開やバックスラッシュ記法の有効化は、すこし機能が強すぎる
その機能を使用しないのなら、そもそも機能が有効になっていないほうが好ましい
めんどいからダブルでいーじゃん、というのでももちろん構わないし
スクリプトに直接リテラルで書くぶんには実際上の問題は何もないが、
慎重にシングルとダブルを使い分けるという姿勢は賞賛されるべき
221:デフォルトの名無しさん
09/11/04 18:51:52
>>219
>なんでダブルクウォーテーションだけで済ませるのが嫌なんだ?
べつに嫌いとまでだれも言ってないけど。>>213が書いたように、シングルクォートを使うことで、
式展開もなにもありませんという意思表示をしているだけ。
なんでこんな曲解するやつがいるんだろうね。
222:デフォルトの名無しさん
09/11/04 20:03:43
Railsマンセーな俺は>>215>>216辺りを見てシングルを主に使っていこうと決めた
アトリビュートというかシンボルに置き換えられるのようなケースではダブルを使ってる気がする
223:デフォルトの名無しさん
09/11/04 21:01:01
Windows環境だとパス区切りがバックスラッシュな関係で
文字としてのバックスラッシュを扱いたい場合は多いな
>>210 とは逆に、バックスラッシュが解釈されるせいで「ん?」と思う場面のが多い
224:デフォルトの名無しさん
09/11/04 21:19:40
考え方は>>220に同感だけど、職場ではダブルクォートで統一されてる。
ネットで拾うサンプルも大抵ダブルクォートだ。
単純に、ダブルクォートで文字列を表現する言語が多いという理由だけの気がする。
コーディングスタイルにおいて慣習ってのは大きな要素なんじゃないかな。
○○にすべきだ、という100%正しい解釈があったとしてもそれが慣習に反していれば採用するのはやっぱり難しい。
225:デフォルトの名無しさん
09/11/04 21:30:24
100%正しい解釈などない
226:デフォルトの名無しさん
09/11/04 21:31:39
>あったとしても
227:デフォルトの名無しさん
09/11/04 21:34:04
信念を持って慣習を破るのは悪いことじゃないな。
228:デフォルトの名無しさん
09/11/04 21:34:12
Rubyの場合%表記使うことも多いからダブルクォートに対するこだわりなんか全くない
229:デフォルトの名無しさん
09/11/04 21:34:35
無意味な仮定ってことだろ
230:デフォルトの名無しさん
09/11/04 22:10:31
> 慣習
こないだ '%s' % str したらMatzの写真で踏み絵させられた
わかる人にはわかるらしい
ちなみに初めてのRuby的には
「後述のエスケープ文字や式展開を含まない場合、
一重/二重のどちらの引用符を用いるかは好みの問題です」(p.58)
だって
231:デフォルトの名無しさん
09/11/04 22:50:02
Ruby1.8.7でsqlite3を使いたく、環境を構築しました。
sqlite3-ruby(1.2.5)
dbi(0.4.3)
dbd-sqlite3(1.2.5)
sqlitedll-3_6_19
上記の環境でDBI経由だと
ERROR DBI::InterfaceError: Unable to load driver 'SQLite3' (underlying error: uninitialized constant DBI::DBD::SQLite3)
というエラーが発生します。
ドライバが見つからないと言うようなエラーだと思うんですが、全部最新です。
何が原因でしょうか?
232:デフォルトの名無しさん
09/11/04 23:50:35
ドライバを入れろ
233:デフォルトの名無しさん
09/11/05 00:06:05
>>231
×SQLite3
○sqlite3
db = DBI.connect("DBI:sqlite3:#{filename}")
234:デフォルトの名無しさん
09/11/05 00:44:56
>>231
ごめん>>233は間違い
うちは
db = DBI.connect("DBI:SQLite3:test.db")
で接続できた
ドライバはdbd-sqlite3で Unable to load driver だから
sqlite3自体がインストールされてない?
235:デフォルトの名無しさん
09/11/05 02:13:52
>>209
>個人的にはシングルクォートをメインにして、"my name is #{name}"のような変数展開を使う場合のみダブルクォーテーションにしています。
>というのもHTMLと一緒にrubyを使うことが多く、HTMLタグの値にダブルクォーテーションを使うからです。
正解
236:デフォルトの名無しさん
09/11/05 04:09:19
%!hogehoge! 使うべさ
237:デフォルトの名無しさん
09/11/05 06:34:11
俺はハッシュの値とかも含めて基本全てシングル使ってるぞ
変数展開したい時だけダブル
これで特に困ったことは無い
空文字が''になるので、他人にソース見せる時に突っ込まれることはあるが。
238:デフォルトの名無しさん
09/11/05 08:22:34
ダミアン先生によると空文字は、%{}にしたほうがわかりやすいと
239:デフォルトの名無しさん
09/11/05 08:36:12
まあ''と"と"'と'''と''''と'"'と""と'"'と'''''の区別は咄嗟にはつけにくいからな
いちばんわかりやすいのは String.new だが
余談だが俺は配列も Array.new だしハッシュも Hash.new だ
自分から [] や {} を使うことはゼロ
240:231
09/11/05 08:39:55
>>232
>>231に書いた以外に必要なドライバがあれば
ドライバ名を教えてください。
>>234
一応 gem search を実行すると全部インストールされているんですが
sqlite3-ruby をインストールするときにリンク先のような状態になったのが
気になりました。
URLリンク(www.rubylife.jp)
そのほかはバージョンもそろえてるしSQLite3の本体も入ってるし、
もうどうすればいいのか・・・
241:デフォルトの名無しさん
09/11/05 08:51:14
新しく配列作る時って Array.new と [] って一般的にどっちがいいとかある?
好みの問題くらいでどっちでもいい?
242:デフォルトの名無しさん
09/11/05 09:12:05
初期値の存在しないふつうの空の配列を作るならどっちでもよい
10万個くらい Array.new と [] が書いてあったら、後者のほうがパース完了は遅いとは思うが
243:デフォルトの名無しさん
09/11/05 09:23:13
>>240
DBI.available_driversで使えるドライバがわかる
そこに"dbi:SQLite3:"が無ければインストールに失敗してる
244:デフォルトの名無しさん
09/11/05 10:06:41
初期値が無い場合は
var = Array.new
初期値がある場合は
var = ["hoge", "hogege"]
って感じだな。
特に理由は無いけどこういうパターンで書く人が多い気がする。
245:デフォルトの名無しさん
09/11/05 10:13:01
[] でいいじゃん
246:デフォルトの名無しさん
09/11/05 10:36:36
247:デフォルトの名無しさん
09/11/05 14:25:20
Array.new, Hash.new はメソッド呼び出しが入るので遅い。
248:デフォルトの名無しさん
09/11/05 15:03:37
>>244
そうかあ?初期値がなくても [] と {} を使うほうが多いと思うけど。
デフォルトの初期値が必要な場合だけHash.newとかを使うんじゃないか。
249:デフォルトの名無しさん
09/11/05 16:51:24
配列からある値を一つだけ削除って簡単にできる?
- とかdeleteだと複数あった時に全部消えちゃう
250:デフォルトの名無しさん
09/11/05 16:58:30
delete_at
251:デフォルトの名無しさん
09/11/05 17:01:43
>>249
簡単にはできない
若いの1個だけ消したいと予測
arr = ["a", "b", "c", "b", "a"]
arr.delete_at(arr.index('b'))
p arr
["a", "c", "b", "a"]
252:231
09/11/05 18:21:11
>>243
driver = DBI.available_driversしてみました
ArrayEmptyでした orz=3
一度アンインストールしてインストールし直しても同じです
どうやればインストール成功するんでしょうか(´;∀;)
253:249
09/11/05 18:50:35
>>250,251
なるほどね見つけてから_atで消すのね
ありがとう
254:231
09/11/05 19:19:05
sqlite3-ruby dbi dbd-sqlite のバージョンを下げたりしてみたけど
やっぱりドライバが認識されませんでした
同じコードとドライバでも1.9.1だと動きまする・・・
255:デフォルトの名無しさん
09/11/05 19:24:01
インストール手順を示さないとアドバイスしようがないと思ふ
256:231
09/11/05 20:05:44
解決しました。いや、解決はしてませんが、ドライバが原因では無いことはわかりました。
NetBeans6.7.1でデバッグをすると「ドライバがないぞゴルァ」って言われるんですが
コンソールから実行すると何事もなかったように動きます。
どうもお騒がせしました。
257:デフォルトの名無しさん
09/11/05 21:30:32
えええええw
258:デフォルトの名無しさん
09/11/05 22:32:30
コンソールから使ってるRubyとNetBeansから使ってるRuby
が違うんでないかい?
259:231
09/11/05 22:41:01
>>258
自分もそう思って確認したんですが
インストールされてるバージョンは1.8.7-p72と1.9.1-p243の二つしかなく
コンソールもねとびーんも1.8.7-p72を使ってました。
ねとびーんのGemマネージャにも、きちんとドライバは登録されていました。
その後も色々試していますが、未だに原因がわかりませんです。
260:デフォルトの名無しさん
09/11/06 01:03:10
printf("%d %d\n", n, n+1)の出力にマッチする正規表現は書けますか?
261:デフォルトの名無しさん
09/11/06 01:29:25
動的に正規表現を生成するのでも構わないのなら
n = 3
"%d %d\n" % [n, n + 1] =~ Regexp.new("%d %d\n" % [n, n + 1]) #=> 0
ところで以下には驚いた。勉強しなおさないとだ
'%d %d\n' % [n, n + 1] =~ Regexp.new('%d %d\n' % [n, n + 1]) #=> nil
"%d %d\n" % [n, n + 1] =~ Regexp.new('%d %d\n' % [n, n + 1]) #=> 0
262:デフォルトの名無しさん
09/11/06 01:40:43
>>261
s = '%d %d\n'
p /#{s}/ # /%d %d\n/と等価
文字列として\nが解釈されなくても、正規表現をパースする段階で解釈される
似たような話としては、String#gsubで引数に\を渡そうとすると
ダブルクォートの場合はエスケープの都合で\の個数がキモいことになる
263:デフォルトの名無しさん
09/11/06 02:17:32
>>262
サンクス。完全に間違って理解してた
> 文字列として\nが解釈されなくても、正規表現をパースする段階で解釈される
よく覚えとくよ
で、>>261でなんではまったかと思ったら普段あまり使わないRegexp.new使ってるからだった
'\n' にマッチする正規表現をリテラルで作ろうとしたら /\\n/ って直感的に書けるけど
Regexp.new で作ろうとすると相当キモイことになるね
264:デフォルトの名無しさん
09/11/06 06:35:26
質問です。
さくらインターネットのスタンダードプランでrubygemをインストールしたのですが,
gemコマンドを打ち込んでも
gem: command not found
と、出てしまいます。
これはインスト失敗しているのか、単に環境設定がうまくいってないのか…。
ご教授願います。
インスト時には
wget URLリンク(rubyforge.org)
tar zxvf rubygems-1.3.1.tgz
cd rubygems-1.3.1
ruby setup.rb --prefix $HOME
で、
RubyGems installed the following executables:
/home/hogehoge/bin/gem18
と出ていました。
265:デフォルトの名無しさん
09/11/06 06:38:37
じゃあ/home/hogehoge/bin/gem18って打ち込めば
266:260
09/11/06 08:02:12
>>261
動的でもいいんですがnの値は不明です。
一旦nを求めて式展開するしかないでしょうか?
一回で
line =~ /(\d+) #{\1.to_i + 1}/
みたいには書けない?
267:デフォルトの名無しさん
09/11/06 08:08:12
実効上のご利益がないのでどうでもいいのだが正規表現を先に書いてくれると嬉しい
/re/ =~ str
268:デフォルトの名無しさん
09/11/06 08:22:50
>>264
PATHの設定。
269:デフォルトの名無しさん
09/11/06 08:23:59
それと、 gem じゃなくて gem18 と入れることか。
270:デフォルトの名無しさん
09/11/06 08:29:54
>>264に足りないのは(PC-)UNIXの知識だな
Ruby関係ないシリーズの筆頭だ
はいそこさくらが使ってるFreeBSDがUNIX4文字で包括されうるかどうか議論しない
271:デフォルトの名無しさん
09/11/06 08:32:18
ruby2.0はいつ出るのじゃ
272:デフォルトの名無しさん
09/11/06 08:35:10
>>271
その質問には意味がない
273:デフォルトの名無しさん
09/11/06 08:43:54
新しいバージョンを待つ香具師は、そのバージョンが出たら
その次のバージョンを待つことになる。
274:デフォルトの名無しさん
09/11/06 10:46:28
1.9もまだ満足に移行出来てない状況でw
275:デフォルトの名無しさん
09/11/06 11:09:59
2.0になった場合の変更予定点とかってもう案があったりするの?
276:デフォルトの名無しさん
09/11/06 12:45:25
>>275
それこそ1.8の出る前からある。
277:デフォルトの名無しさん
09/11/06 16:43:52
だから待ち焦がれてる椰子が多いんだよ。
Ruby2.0が出たらそのサブセットをどっかで標準化したりするのかね。
278:デフォルトの名無しさん
09/11/06 18:15:47
2.0はこうなる!
みたいな解説どっかにある?
279:デフォルトの名無しさん
09/11/06 19:26:11
ないでもないけど(Ruby Riteで検索すれといくつか)大昔のものなので、
1.9で実現しちゃったもの(YARVとか)もあれば、方針転換があったりしたものが
(たとえば括弧の省略があまりできなくなる方向で動いてたのを、断念しちゃったり)
あったり、全く刷新の気配もないもの(GCとか)とかで、全然参考にならない。
280:231
09/11/06 19:33:23
必要ないかも知れないですが経過報告です。
全く違う別のPCで1.8.7-p72、NetBeans6.7.1という同じ環境を構築して
SQLite3をDBI経由で読んでみましたがコンソールからだと問題無く動くコードが
同じエラーになりました。ドライバが認識出来ないようです。
同じコードでも1.9.1だとNetBeans6.7.1でも問題無く動作するので環境の問題のようです。
もし上の環境でDBI経由でSQLite3が使えてる人がいたらアドバイスください。
281:デフォルトの名無しさん
09/11/06 19:50:20
txt = open('hoge.txt').read
ってするとオープンされたファイルのストリームは開いたままですか?
282:デフォルトの名無しさん
09/11/06 20:03:17
>>281
えーーーーと、
クラスメソッド File.open は File オブジェクトを返すだけ
関数的メソッド open も File オブジェクトを返すだけ
インスタンスメソッド File#read はストリームを閉じない
クラスメソッド File.read は File オブジェクトを開いて File#read して閉じて read 結果を返すユーティリティ的メソッド
File.open(path).read は不完全
open(path).read も不完全
File.read(path) は安全
File.open(path){|f| f.read} は安全
open(path){|f| f.read} も安全
ブロックつきメソッドで書けるメソッドは、ブロック作らないと危険
ブロックつきメソッドで書く意味がなさそうなメソッド(File.read、File.readlines 等クラスメソッド)はブロック作らなくても安全
クラスメソッドは「便利メソッド」として作られてることが多い
283:デフォルトの名無しさん
09/11/06 20:05:12
>>281
GCされるかスクリプトが終了するまで開いたまま
ちゃんと閉じるか閉じてくれる書き方をするクセをつけたほうがいい
手っ取り早いのはこれ
txt = File.read('hoge.txt')
本当はIO.read、ただし1.9系じゃないとこの方法でbフラグ付けるのは無理
284:デフォルトの名無しさん
09/11/06 22:39:33
IO.binreadは1.9だっけか
285:デフォルトの名無しさん
09/11/07 01:20:25
String::squeezeの使い道が分からない
286:デフォルトの名無しさん
09/11/07 02:19:12
1.9はvistaの様に飛ばして、2.0のsp2が出るまで1.8で耐えた方が良さそうw
287:デフォルトの名無しさん
09/11/07 05:32:37
今までrubygemsで取得できるもので済んでいたのですが、
tar.gzで配布されているruby-clusterやruby-gnome(gtk?)を使うことになり、
Emacsでのanythingやauto-complete-rubyでも↑のライブラリを読み出して欲しいと思って調べたのですがわかりませんでしたので質問させてもらいます。
anythingではfri -lやrefe -lの結果から候補を、auto-complete-rubyではrcodetoolsからどうにかして候補を出しているみたいなのですが、
そのソースとなるのはtar.gzがもつドキュメントorコードから生成されたドキュメント(?)を元にしているみたいなのです。
そのようなドキュメントを生成するのはrdocなんでしょうか?そうだとしたらどのように生成すればいいでしょうか?
rdoc --riとやって.rdocの中に色々とできているのですが、そこをLOAD_PATHに加えればいいのでしょうか?
長くなってすいません。
288:デフォルトの名無しさん
09/11/07 16:37:36
Rubyで外部コマンドを単純に実行したいときで質問。
変数hogeにデータが入っていてこれを引数としてコマンドを実行したい。
system("command", hoge)
なら安全?
例えば、パイプでつなげられてrm -rfされる心配はないか、とか。
289:デフォルトの名無しさん
09/11/07 16:50:01
はい
sysytem 等の第2引数はシェルを介しません
irb> system('ls', '-la|date')
ls: invalid option -- '|'
詳しくは `ls --help' を実行して下さい.
irb> system('ls -la|date')
2009年 11月 7日 土曜日 16:42:32 JST
ls が | についてのエラーを返していることに注目です
| を含んだ引数を ls コマンドに直接渡している証拠です
ただ、この場合、第1引数は完全に正しい実行可能文字列でなければなりません
オプションとかなんか余計なものを含んでいた場合はエラーです
irb> system('echo ', 'hello!')
false
irb> system('echo', 'hello!')
hello!
「echo 」という末尾に空白を含んだ実行ファイルは存在しないためコマンドが実行されず、system が false を返しています
290:デフォルトの名無しさん
09/11/07 16:55:35
>>289
ありがとう。
291:デフォルトの名無しさん
09/11/08 10:16:43
テンプレに
・Ruby 1.9.0
不安定にして先鋭機能が超満載の開発版バージョンだったもの
1.9.x は本来全てが開発版の呼称だったのだが、事情が変わって(ここ笑うところ)
とありますが、どう事情が変わったのでしょうか?
"1" + 1 とするとエラーが出てしまいます。
エラー内容的には 整数を文字列に出来ないよ。 ということだと思っています。
しかし、 1.to_s を実行すると "1"が返ってきて、1.to_s.classはStringだと言っています。
数値の 1 を文字列に変換することは出来ているのに上記のようなエラーが出る理由が分かりません。
教えてください。
292:デフォルトの名無しさん
09/11/08 10:23:14
Rubyは、その種の暗黙の変換はしないので、
"1".to_i + 1 #=> 2がほしいとき
"1" + 1.to_s #=> "11"がほしいとき
293:デフォルトの名無しさん
09/11/08 10:53:20
オブジェクトが違ってるということはプログラミングの手順が間違ってるということがほとんどなわけで
こういう場面では暗黙の変換をしてもらわないほうが多くの場合は便利
動作と投入値のとり得る全てを事前に完全把握してる場合は暗黙の変換をしてもらったほうが面倒ないけどな
まあそういう時はRubyにこだわらず適当にそういう動作の言語使ってだらっとプログラム書けばええ
とりあえずRubyはその手の変換は行わないようにメソッドが作られてることが多い
困ったことに + 系のメソッド内でクラス比較して変換かけてるパターンもあるけどな
>>291
> どう事情が変わったのでしょうか?
このままだとバージョンナンバーを普通に使い切ってしまい
栄光のバージョン2.0が普通の1.9の上位バージョンになってしまうという危惧
1.9.0を元にした安定版を出す際に、通常のバージョンのつけ方なら
・ 1.9.x … 開発版
・ 2.0.x … 安定版
となるはずだし従来はこの予定だったのだが、2.0の名には値しないと判断されて、無理矢理
・ 1.9.0 … 開発版
・ 1.9.1 … 安定版
とされたということ
294:デフォルトの名無しさん
09/11/08 15:19:36
じゃあ、1.9.1は2.0ってことですか
295:デフォルトの名無しさん
09/11/08 15:23:13
matzを罵ってやる!
296:デフォルトの名無しさん
09/11/08 15:28:41
Rubyでは、2.0は人参と呼ばれている。
「開発者のモチベーションを引っ張り続けるが到達できないもの」
来世紀くらいには追いつけるかもしれないがユーザーが待つのは馬鹿。
297:デフォルトの名無しさん
09/11/08 15:46:26
まあ10年くらいしたらなんとかなんじゃねえの、とは思う
少なくとも5年では無理
298:デフォルトの名無しさん
09/11/08 15:47:49
なにが人参だか。どうでもいいわ
299:デフォルトの名無しさん
09/11/08 16:01:55
RubyにはRubyしか知らない人が多いというのはやっぱり真実なのだと思う
ようはPerl6と同じことだろ
300:デフォルトの名無しさん
09/11/08 16:23:16
>>285
String#squeezeはたぶん正規化じゃないかなぁ
require 'jcode'; $KCODE = "s" # 1.9なら不要
Words = %w(google キター).map {|s| s.squeeze }
def exist?(s); Words.index(s.squeeze); end
p exist?("goooooogle")
p exist?("キターーーー")
301:デフォルトの名無しさん
09/11/08 16:23:36
PHP6、Perl6、Ruby2のうち一番早くリリースするのはどれですか?
302:デフォルトの名無しさん
09/11/08 16:48:32
やっぱり1.9sp2まで待ちだな。
303:ダーク藤本 ◆ULFoMaooII
09/11/08 17:12:54
SB3.5改
URLリンク(ux.getuploader.com)
Rubyは多次元配列の仕様が糞すぎる
まぁ多次元配列なんてWEBプログラマーには不要なもんだがw
304:デフォルトの名無しさん
09/11/08 17:29:27
Rubyの多次元配列?
それなんていうライブラリ?
305:デフォルトの名無しさん
09/11/08 17:42:01
ruby 1.9.3あたりが安定版になっても俺は驚かない
驚かないが、「またユーザーを混乱させるのか・・・」と思う
306:デフォルトの名無しさん
09/11/08 17:56:09
>>305
1.9.1 以降は全部、1.9 系列の安定版だよ
1.9.2 が出たとしたら、それは1.9系列の最新安定版
1.9.3 が出たとしたら、それは1.9.2より新しい、1.9系列の安定版
開発版は常に 1.9.0
パッチレベルが上がるんだったかなんだったかで区別するとかしないとか
1.8.5やそれ以前のような「とりあえずリリース」はない
tenny(バージョン x.y.z の z)が 0 でないときは必ず安定版リリース
この理屈だと Ruby 2.0.0 は 2.0 系列の開発版ということになるが、まあそういうことなのだろう
情報の古いうっかりさんが「これが Ruby2.0 か」とか勘違いして 2.0.0 をインストールしてシステム壊すとかそういうの希望
まー 1.9.1 の中でもパッチレベルが違うと動作違うけどな(正しくなっただけなのだが)
1.8.6 でもあったが、なかなか酷い
307:デフォルトの名無しさん
09/11/08 17:57:08
驚き最小の法則w
308:デフォルトの名無しさん
09/11/08 17:59:44
>>307
情報の古いうっかりさんこんばんは
309:デフォルトの名無しさん
09/11/08 18:01:51
URLリンク(ja.wikipedia.org)驚き最小の原則
結城浩は1996年、この原則を人間関係を円滑にすすめるための心得に拡張し、「驚き、最小の法則」として紹介した。
たとえば、プログラムを顧客に納品する際に、判明しているバグがあるのなら、それを伝えておいたほうが顧客に
とっても利用時の戦略を立てやすくなる、といったものである。「『どうしようかな?』と思ったときには、 相手の
『驚き』を最小にするような選択をすべき」であるという[1]。
プログラミング言語 Ruby は、一時期「驚き最小の原則」とともに語られることが多かった。ただし、作者のまつもと
ゆきひろはこの原則を Ruby の設計哲学として採用したことはないと述べている[2]。Ruby については、「さまざまな
バックグラウンドの人々すべてを驚かせないことではなく、Ruby のやり方に十分に慣れた人が持つ常識が一貫して通用
するという意味」[3][4]であるとして、「Matzの驚き最小の原則」という言い方も提案された[3]。現在では Ruby が
「驚き最小の原則」とともに語られることは少なくなっている[5]。
310:デフォルトの名無しさん
09/11/08 18:04:35
驚きの連続w
311:デフォルトの名無しさん
09/11/08 18:09:19
>>309
コミュニティ内では「Rubyらしい動作」という言葉で語られる概念だな
Rubyらしい動作をするクラスやメソッドは推測が利いて使いやすい、という程度の意味
312:デフォルトの名無しさん
09/11/08 18:10:14
一時期のruby-talkとかひどかったもんな。
いろんな言語バックグラウンドを持つ香具師が、想定外の挙動に対して
「これは驚き最小に反している!」
そして「おめーにとってはそうだろうがよ」と総ツッコミ。
313:305
09/11/08 18:19:50
>>306
説明ありがとう! 1.9.1からルールが完全に変わったんだな
> ruby 2.0.0 は 2.0 系列の開発版
そうなるのか? ruby 2.0.0 からまた元のルールに戻るとかじゃなくて?
そうなるんだとすると、本当に訳が分からなくなりそうだ
314:デフォルトの名無しさん
09/11/08 18:23:52
>>313
2.0 系列の開発版は常に 2.0.0
2.0.0 で安定版が作れたと思ったら 2.0.1 としてリリース
2.0.1 がパワーアップしたら 2.0.2 としてリリース
2.0 系列の次のバージョンの開発版を作る場合は 2.1.0 でやる
こんだけ
x.y.z の y だか z だかが奇数のときは開発版で偶数は安定版、みたいな
冷静に考えるとへんてこなルールと実質上は何も変わらない
315:デフォルトの名無しさん
09/11/08 18:32:54
>>314
ソース求む。
どこにもそんな話、なかったと思うんだが。
316:デフォルトの名無しさん
09/11/08 18:46:28
ruby 1.9.3あたりが安定版になっても俺は驚かない
驚かないが、「またユーザーを混乱させるのか・・・」と思う
317:デフォルトの名無しさん
09/11/09 00:40:14
順調に迷走してるね、この言語。
318:デフォルトの名無しさん
09/11/09 01:17:13
迷走してるのはおまえの脳みそだろw
319:デフォルトの名無しさん
09/11/09 02:02:57
すくなくとも驚き最小の原則を標榜している言語が
脳みそを掻き回したらいかんだろ
320:デフォルトの名無しさん
09/11/09 02:09:56
>>319
Rubyのことなら、標榜してないよ。
321:デフォルトの名無しさん
09/11/09 02:13:44
よそから飛んできたんでひょっとしたら320は空気が読めてなかったかもしれない
322:デフォルトの名無しさん
09/11/09 02:18:43
ruby厨WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
323:デフォルトの名無しさん
09/11/09 08:23:38
一時期のRuby厨が荒らしてたPythonスレみたいになってるw
324:デフォルトの名無しさん
09/11/09 09:33:42
2.0が出てもみんな1.8.7を使いつづけるというオチでは?
325:デフォルトの名無しさん
09/11/09 09:44:20
そこはJRubyでしょ
326:デフォルトの名無しさん
09/11/09 11:24:20
C言語みたいにクラス定義を別ファイルに書きたいのですが
#include "MyClass.h"
に相当するRubyの命令がわかりません。
手持ちの本にも載っていません。
誰か教えてください。
327:デフォルトの名無しさん
09/11/09 11:27:40
require
328:デフォルトの名無しさん
09/11/09 18:12:07
>>326
require "myclass" # myclass.rb を読み込む
329:デフォルトの名無しさん
09/11/09 19:50:19
この言語って他の言語にある程度慣れてる人が多い?
プログラミングはRubyからです!って人は少なそう。
330:デフォルトの名無しさん
09/11/09 20:01:19
>>329
Ruby から始めましたが。
理由は、基本的な構文はどの言語も似ていると思ったので...
331:デフォルトの名無しさん
09/11/09 20:27:41
VBA → ちょっとだけJavaScript → VB.NET → C# → Ruby
332:デフォルトの名無しさん
09/11/09 21:14:56
rubyから始めましたってのはニート出身のPGとかだけだろ
学歴ある奴はあり得ん
333:330
09/11/09 21:19:51
>>332
大学で始めてプログラミングやった子なのかな?(^^;
334:デフォルトの名無しさん
09/11/09 21:20:44
>>332
なにその根拠のない自信?ホントにプログラマ?
335:デフォルトの名無しさん
09/11/09 21:21:53
>>332
ム板池よITドカタ
336:デフォルトの名無しさん
09/11/09 21:21:59
おまいら釣られすぎですよ
337:デフォルトの名無しさん
09/11/09 21:56:53
マジレスすると大学で覚えるプログラミングなんて大したことなくね?
いいとこの大学でもC言語を基礎から教えてたりするわけだし、そんな状態から4年間での伸びしろなんてたかが知れてる。
その周りの専門知識は大学じゃないと勉強するのは難しいかもだけど、実務で生かせてる知識がどれほどあるか。、
自分の大学生活が薄っぺらかっただけなのかな?
中卒高卒でも小さい頃から趣味でプログラミングやってた奴らには勝てる気がしないんですよ。
なんというか、雑学というか知識の幅というか、そこら辺が埋めようの無い差を感じる。
338:デフォルトの名無しさん
09/11/09 22:01:57
安心しろ、ラジオを分解すらしたことがなくても
電気電子系の学科に進学する、という人が増えている。
今はそういう時代。
339:デフォルトの名無しさん
09/11/09 22:02:52
モチベーションの差とかもあるかな
大学出てない奴は少なからず劣等感を持ってると思う
うちの会社に大学中退者が何人かいるんだが彼らのハングリー精神は恐れ入るよ
340:デフォルトの名無しさん
09/11/09 22:28:33
>>337
小さい頃からプログラミング続けてる人はベースが完璧にできあがってるし
そういう基礎的な部分で苦労しない分、応用とか開発にリソース使えるんだろうね
341:デフォルトの名無しさん
09/11/10 01:15:40
小さい頃からプログラムやってる人はうらやましいね。
田舎だとそういう情報もハードも少なくて外で走り回ってるくらいだったよ。
その年頃でマイコンとかやってる奴とかいるかと思うと・・・。
まだ、勉強し続けなきゃならないな
342:デフォルトの名無しさん
09/11/10 02:17:28
あとは環境かねぇ。
親の環境次第で当時、高価なPCを買えたかどうかとか。
343:デフォルトの名無しさん
09/11/10 03:48:57
子供の頃、親が遊びに投資してくれたかどうかで
将来がだいぶ変わるよな
ゲームばっかすんなとか言うけど
そこからプログラムに入れば職業につながる可能性だってあるんだしね
遊びの価値を理解してない人が多い気がする
自分の場合、学校で教わったことなんかより
遊んだ分の知識の方がメシの種になってる
勉強し倒したか、遊び倒したかという極端な人ほど
「使える」人になってる気がする
>>342
今は高価な PCじゃなくても、そこそこの性能で
今の子供はうらやましいよね
344:デフォルトの名無しさん
09/11/10 05:24:12
そう言われてみれば、消防ん時からプログラミングやってる俺は
親がオーバークロックとか日常茶飯事な自作erだなあ
物心ついた時には周りにPCパーツ転がってたし
俺がPCに興味持ったと知るや、いきなりパーツ屋連れてかれたなw
ま、結局それはあんまり肌に合わなくて
PCじゃなく、ソフトウェアを組む方にハマったんだが
345:デフォルトの名無しさん
09/11/10 05:52:33
今の子供は羨ましくもあるが、
ネットも無く毎日外で秘密基地とか作って遊んでた自分の小学生時代はこれはこれで良かったと思ってる。
346:デフォルトの名無しさん
09/11/10 06:23:59
一方小学生の>>344はアメリカの某サーバにバックドアを仕掛けた