Ruby 初心者スレッド Part 50
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/07/29(日) 14:26:28.92質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
RoRはスレ違いよ
前スレ
Ruby 初心者スレッド Part 49
http://toro.2ch.net/test/read.cgi/tech/1336507487/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0002デフォルトの名無しさん
2012/07/30(月) 00:31:10.11http://kohada.2ch.net/test/read.cgi/php/1341589839/
【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://toro.2ch.net/test/read.cgi/tech/1155031689/
書籍:ほぼ公式
「たのしいRuby 第3版 Rubyではじめる気軽なプログラミング」 (プログラミング自体が初めてでない人向け)
http://www.amazon.co.jp/dp/4797357401/
「初めてのRuby」 (同上)
http://www.amazon.co.jp/dp/4873113679/
書籍:紙のマニュアルに相当
「Rubyレシピブック 第3版 303の技」(脱初心者向け基礎テクニック集、1.9対応)
http://www.amazon.co.jp/dp/4797359986/
「プログラミングRuby 第2版 言語編」(初心者向け参考書)
http://www.amazon.co.jp/dp/4274066428/
現在、1.8 系列の最新である Ruby 1.8.7 と 1.9 系列の最新である Ruby 1.9.3 の2系統が存在。
肝心な部分がわりと違い、プログラムはそのままでは動作せず、予備知識も別個。
1.8 用のスクリプトやライブラリは 1.9.3 では動作しないので注意。
1.9.3 用の教科書があるなら 1.9.3 から始めても構わない。
Windows用Rubyは、Ruby以外のものもあらかた入っているActiveScriptRubyと
http://www.artonx.org/data/asr/
RubyだけインストールされるRubyInstallerの2種類存在。
http://rubyinstaller.org/downloads/
Rubyリファレンスマニュアル chm版リミックス
http://ruby.morphball.net/refm-remix.html
0003デフォルトの名無しさん
2012/07/30(月) 00:32:31.62・エディタ初めてならRubyスクリプトをを着色してくれる(できればオートインデントの)エディタ好きなの選べ
・いわゆるIDEはRubyの学習に際しては恐ろしくコスパが悪いのでRubyのためだけに新規導入するのはお勧めしない
Q.XXX を使ってるんですが Ruby も覚えたほうがいいんでしょうか?
A.好きにしろ
※RubyやRuby使いに対する不満や愚痴などは本スレやバトロワスレなどをご利用下さい
0004uy
2012/07/30(月) 05:26:01.45$a = 6
puts "#{$a}" # => 6
puts "#$a" # => 6
$n = Struct.new(:x).new(4)
puts "#{$n.x}" # => 4
puts "#$n.x" # => #<struct x=4>.x
# ↑はぁー?
0005デフォルトの名無しさん
2012/07/30(月) 15:05:07.22ハードウェアを考慮していない。
実は30年前のCと今のrubyでは今の方のrubyの方が早い。
0006デフォルトの名無しさん
2012/07/30(月) 19:39:24.360007デフォルトの名無しさん
2012/07/30(月) 19:40:42.790008デフォルトの名無しさん
2012/07/30(月) 20:01:00.74irb> [1,2,3].grep(1)
=> [1]
irb> %w[1 2 3].grep(/1/)
=> ["1"]
オイェァ
ただし、あんまし使い出がないメソッドであることは否定しない
中途半端に使うと肝心なとこで裏切られるので(自業自得だが)、ふつうにfindとか使うのおすすめ
0009デフォルトの名無しさん
2012/07/30(月) 20:03:35.50> はたらきたくないでござる
うっせーバカ
0010デフォルトの名無しさん
2012/07/30(月) 20:10:54.89せめてどうググればサンプルなどが出てくるか教えていただけませんか?
回数指定をする繰り返しでもなく、このような例が見つからずに途方に暮れています
0011デフォルトの名無しさん
2012/07/30(月) 20:11:57.07単純な<a>リンクのクリックでは動作しないかもしれない
サイトが固定なのなら、本文ページのURLを自力で作成するのが妥当
全部で何ページあるのかとかはそりゃ自分でHtML読んで調べろ
もし単純な<a>リンクであることがわかってるのなら、そりゃその続きを読むリンクがそのページにまだあるかどうかで最終ページの判定すればいいんじゃないの
次のページがないのに次のページのリンクが有効であることはまずない
0012デフォルトの名無しさん
2012/07/30(月) 20:13:58.04Rubyの基礎がまったくできていないために、なにもできない状態になっている
ライブラリを使うことは一旦諦めて、Rubyの基礎の勉強をするといい
0013デフォルトの名無しさん
2012/07/30(月) 20:47:59.36よくわかりました!ありがとうございます!
0014デフォルトの名無しさん
2012/07/30(月) 20:55:31.07初心者をなんかどうにかして助けてくれるような機能があることはないよ
0015デフォルトの名無しさん
2012/07/31(火) 15:14:22.36【五輪】 開会式、各国のなかで日本選手団だけが"謎の退場誘導"…猪瀬東京都副知事も関心寄せる
http://2ch-ranking.net/cache.php?thread=uni.2ch.net/newsplus/1343712277/&res=100
0016デフォルトの名無しさん
2012/07/31(火) 23:04:52.75おもしろくないすねー
0017デフォルトの名無しさん
2012/08/01(水) 11:19:31.20要望を適切に「分解」するのは人力で、それをやるために必要なのは基礎知識と経験だからねえ
今回で言うと「特定の語句があるまでURLの先を取得することを繰り返して本文を溜め込んで返すメソッド」みたいなものを求められても困る
…あっても面白そうな気はするが、デフォルトではたぶん年に1回くらいしか使えなさそうだ(自力で実装したほうが早い)
0018デフォルトの名無しさん
2012/08/02(木) 01:13:38.04モジュール内からトップレベルの定数が参照出来るのってなんでだっけ
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fvariables.html#prio
・トップレベルの定数定義はネストの外側とはみなされない
・モジュールだからancestorsにObjectが含まれるわけでもない
0019デフォルトの名無しさん
2012/08/02(木) 02:18:49.44・ トップレベルに定義されたメソッドと定数は Object に所属することになっている(これはとりあえずそういうものだと理解する)
・ が、モジュール M に対する M.ancestors は [M] だけを返し、Object が含まれていないので Object が見えないはずでは?
てきとーな回答
irb> module M; end
irb> p M.class
Module
irb> p M.class.superclass
Object
superclass の定数がインスタンス内から読めるのは当たり前
…という説明で納得して頂けますでしょうか
たぶんもっとわかりやすくて本質的な説明をしてくれる勇者様がきっと
irb> class SUPERCLASS; end
irb> class CLASS < SUPERCLASS; end
irb> o = CLASS.new
irb> SUPERCLASS.const_set(:CONST,"superclass!")
irb> p o.class
CLASS
irb> p o.class.superclass
SUPERCLASS
irb> class << o; p CONST; end
"superclass!"
0020デフォルトの名無しさん
2012/08/02(木) 02:22:36.55ありがと
0021デフォルトの名無しさん
2012/08/02(木) 02:26:19.13Moduleのインスタンスだってことを見落としてた
class Module < Object
def foo
# ここからObjectの定数が見える
end
end
0022デフォルトの名無しさん
2012/08/02(木) 02:30:21.51そっすなー
マジカルさ加減で言うとトップレベルがObjectに行くほうがマジカルなんだけど、そこはとりあえずスレ的には丸覚えで
0023デフォルトの名無しさん
2012/08/02(木) 05:54:50.91X = 0
def foo
X
end
end
module M; end
M.foo #=> 0
module M; X; end #=> NameError
あれ?
0024デフォルトの名無しさん
2012/08/02(木) 10:49:51.035番目 (Object)
class ×; end
class 3番目 < ×
class 2番目 < ×
class C < 4番目
include 1番目
p CONST
end
end
end
まずinclude/extendを探し、次にスクリプト上のネストを探し、さらに継承元を探し、最後にObjectクラスを探してCONSTがなかったらエラー
class A1; CONST="A!"
class B1; CONST="B!"
class C1; CONST="C!"; end
class C < C1; p CONST; end
end; end #=> "B!"
class A2; CONST="A!"
class B2;
class C2; CONST="C!"; end
class C < C2; p CONST; end
end; end #=> "A!"
class A3;
class B3;
class C3; CONST="C!"; end
class C < C3; p CONST; end
end; end #=> "C!"
これはそういう順番になるように作ってあるとしか言えない、でいいと思う
0025デフォルトの名無しさん
2012/08/02(木) 11:09:01.56class Module
X=0
end
module M
p self #=> M
# M=Module.new なので、C::CONST や C.new.class::CONST は読めても C.new::CONST が読めない理屈と同様、Module::X はここから読めない
end
class << M
p self #=> #<Class:M>
# Classの継承元には Module が含まれているのでふつうに読めるというか、回答でこれを出した>>19が間違ってるんだな
end
0026デフォルトの名無しさん
2012/08/02(木) 12:04:38.92「例外的にそうなってます」でいいのか、それとも
「○○の範囲が見えて、その中にObjectも含まれています」みたいな説明が可能なのか
今の所こういう感じじゃないかと思ってるんだけど違うかな
module A; end とか class A; end の中では以下の順で探索
1 ネストを外側に向かって。ただしトップレベルは含まない
2 継承元に向かって探索(include したモジュールも継承扱い。つまりM.ancestors)
3 Objectから継承元に向かって探索(Object.ancestors。classの場合は2に含まれる)
>>18のページの記述は3が抜けてる?
0027デフォルトの名無しさん
2012/08/02(木) 12:07:05.39× M.ancestors
○ A.ancestors
0028デフォルトの名無しさん
2012/08/05(日) 00:45:43.21a = gets.chomp
while a != "BYE"
puts "what?"
a = gets.chomp
end
このプログラムをwhat?と聞き返されるたびにBYEと入力して、の繰り返しで三回目にそのループから抜けられるようにするにはどうすればよいでしょうか?
0029デフォルトの名無しさん
2012/08/05(日) 01:27:52.18カウンタをつける。
0030デフォルトの名無しさん
2012/08/05(日) 01:45:13.77そうならまずwhileループをbegin〜end while(ruby版do〜whileの構文)に書き換えてから全体を3.timesで囲むとか
0031デフォルトの名無しさん
2012/08/05(日) 02:27:28.02while n < 3
puts "what?"
a = gets.chomp
n += 1 if a == "BYE"
end
0032デフォルトの名無しさん
2012/08/05(日) 13:16:54.32アドバイスありがとうございます。改善してみました。
3.times{
a=gets.chomp
while a != "BYE"
puts "what?"
a=gets.chomp
end}
ただ、これだとBYEと入力したあとにwhat?と返してくれません。どうしたものでしょうか。
今のままだとBYEと入力しない限りはwhatと返す(BYEと返すとループから抜けてしまう)ようになっているので、
BYEと入力してもwhatと返すようにしたいです。それで三回連続でBYEと入力したときだけループから抜けるようにしたいのですが。
BYEと入力した回数をカウンタで数えるのでしょうか。調べてみてもよく分からなかったので教えていただけるとありがたいです。
0033デフォルトの名無しさん
2012/08/05(日) 13:53:50.19> 三回連続でBYEと入力したときだけループから抜けるようにしたいのですが
連続でないと駄目なの?
だったら>>30は忘れて。これは
BYE
HELLO
BYE
BYE
みたいな入力で抜けることだけを想定して書いてるから
基本的には>>31みたいな感じで、BYE以外が入力されたらカウンタをリセットすればいいんじゃないかな
0034uy
2012/08/05(日) 14:57:37.95loop.each_with_object ["","",""] do | _, c |
puts "what?"
a = gets.chomp
p a
c << a
c.shift
break if c.join == "BYE"*3
end
0035uy
2012/08/05(日) 15:22:44.83loop.each_with_object ["","",""] do | _, c |
↓
[["","",""]].cycle do | c |
0036デフォルトの名無しさん
2012/08/05(日) 18:02:50.690037デフォルトの名無しさん
2012/08/06(月) 00:13:49.90joinしてからの判別だと、BY EBY EBYE みたいな入力でも通ってしまう
0038デフォルトの名無しさん
2012/08/06(月) 00:33:56.67while n < 3
puts "what?"
gets.chomp == "BYE" ? n += 1 : n = 0
end
標準ライブラリだとプロンプトを引数にとるメソッドはないんだっけ?
read_input("what?:") みたいなの
0039デフォルトの名無しさん
2012/08/06(月) 00:48:34.92変化を加えてみました。
puts "Say \'bye\' to that old woman."
n=0
while n<3
a=gets.chomp
n += 1 if a=="BYE"
puts "What? I can\'t hear your voice well."
end
puts "OK."
これだと三回目のBYEを入力したあとにWhat? I can\'t hear your voice well.と表示されてしまいます。
三回目のBYEの後はOKだけ表示されるようにしたいのですが、どうすればよいでしょうか?
0040デフォルトの名無しさん
2012/08/06(月) 04:03:01.22わかんないなら先進むのやめとけ
理解が先
わかんないのにさらに要素増やしてどうする
004139
2012/08/06(月) 09:07:04.31そうですね。たしかに基本的な用語くらいは理解するべきですよね。
私はこのサイト(http://www.ie.u-ryukyu.ac.jp/~kono/software/s04/tutorial/Chapter=Contents.html)
を見ていろいろなプログラムを書いてみることが上達への近道だと思ってやってるんですが、
1週間前に初めてプログラミング言語に触った初心者なのでよかったらよい勉強方法を教えていただけませんか?
0042デフォルトの名無しさん
2012/08/06(月) 09:12:50.59他人に聞いてそのまま書くのは最初の時点では練習にならない
(クラスやメソッドをあらかた知ってる状態では写経も意味があるんだが)
自分で必要なものを考えて、それに必要な機能を自力で探して、それを必要なだけ自分で組み合わせて作れ
もし、プログラミングで作りたい・作らなければならないものが現時点でなにもないのなら、プログラミングのことはすっぱり忘れて他のことをしろ
プログラミングというものが「必要」となったときに、「っていうか自分で作ればいいのか」と思い出すだけで充分
0043デフォルトの名無しさん
2012/08/06(月) 09:16:53.000044uy
2012/08/06(月) 09:32:00.14puts "Say \'bye\' to that old woman."
[["","",""]].cycle do | c |
print "what?"
a = gets.chomp
p a
c << a
c.shift
c[0] == "BYE" and
c[1] == "BYE" and
c[2] == "BYE" and break
puts "What? I can\'t hear your voice well."
end
puts "OK."
0045デフォルトの名無しさん
2012/08/06(月) 18:52:17.57printf "_ %s" % [ 2 ]
こんな感じのをハッシュでやる方法ってありませんでしたか?
どこかでみたような気がしたんですが書き方を忘れてしまって
printf "_ %s" % { a: 4 }
0046uy
2012/08/06(月) 18:55:17.600047デフォルトの名無しさん
2012/08/06(月) 19:35:44.81それです
ありがとうございます
0048デフォルトの名無しさん
2012/08/06(月) 19:55:01.01puts "%{symbol}" % {:symbol => 'val'}
val
シンボルじゃないと動きません
0049デフォルトの名無しさん
2012/08/08(水) 09:00:24.68何か方法はありませんか?
def f
n = 0
class << n
end
end
f
0050デフォルトの名無しさん
2012/08/08(水) 09:15:22.65Fixnumオブジェクトは特異クラスを持てない
メソッド内で宣言すること自体は普通に出来る
0051デフォルトの名無しさん
2012/08/08(水) 09:19:29.58そうなんですね
気づきませんでしたありがとうございます
0052デフォルトの名無しさん
2012/08/08(水) 10:49:16.72こうやってるんですが、もっと簡単な書き方ありますか?
lines = open(filename) {|f|
f.readlines().map {|l| l.chomp}
}
getsとかeachとか使うにしてもchompは省略できないんですかね?
0053u
2012/08/08(水) 12:50:05.94p open($0).readlines.map(&:chomp)
p [*open($0)].map(&:chomp)
0054デフォルトの名無しさん
2012/08/08(水) 18:51:31.560055デフォルトの名無しさん
2012/08/08(水) 20:39:14.12個人的に関数等を吟味したつもりなのですが、結局できませんでした。バイナリだけみたら、自前のデータとほとんど同じように取得できているように一見見えるのですが・・・ すみませんアドバイスお願いします
require "gtk2"
require "open-uri"
NAME = "view"
WINDOW_SIZE = [500, 500]
class Win < Gtk::Window
def initialize
super(NAME)
self.set_default_size(*WINDOW_SIZE)
self.signal_connect("delete_event") do
Gtk.main_quit
end
self.signal_connect("key-press-event") do |w, e|
if e.keyval == Gdk::Keyval::GDK_q
Gtk.main_quit
end
end
end
end
url= 'http://www.astroarts.jp/news/2005/05/09hubble_anniversary/m51.jpg'
image = Gtk::Image.new(open(url,"rb").read)
main_win = Win.new
main_win.add(image)
main_win.show_all
Gtk.main
0056デフォルトの名無しさん
2012/08/08(水) 20:45:48.59http://upload.wikimedia.org/wikipedia/en/thumb/6/6a/Topimage_(2ch).png/250px-Topimage_(2ch).png
でお願いします。こちらの画像でも結果は同じでした
書き込み文字数が足りなくて不親切な質問になってしまったので、一応プログラムの流れを説明します
1、windowを準備(qか罰ボタンで画面を終了するようにする)
2、urlを読み込む
3、url元の画像データをバイナリデータで読み込み、Imageメソッドに渡す(imageにデータを格納する)
4、imageのデータでウィンドウを作る
という流れで作っていたのですが・・・できませんでした
0057デフォルトの名無しさん
2012/08/08(水) 20:51:30.98まさか実行するたびに何百回もサーバにアクセスして画像を取得していたわけではあるまい
0058デフォルトの名無しさん
2012/08/08(水) 22:06:46.10まあ、rubyってそういうものですしね。参考になりました。ありがとうございました
0059デフォルトの名無しさん
2012/08/08(水) 22:50:40.060060デフォルトの名無しさん
2012/08/08(水) 23:08:01.45socat EXEC:./te.rb,fdin=4,fdout=5 /dev/ttyS0 のように
perl では、
use IO::Handle; use IO::File
$fdr = IO::Handle->new()
$fdw = IO::Handle->new()
$fdw->fdopen(4, "w")
$fdr->fdopen(5, "r")
のように書くと実現できるですが、ruby の場合、IO::Handle->new() を実現するには
どうしたらよいでしょうか。いきなり IO.new(4, "w") とすると Bad file descriptor で
Error になってしまいます
0061デフォルトの名無しさん
2012/08/08(水) 23:23:51.390062デフォルトの名無しさん
2012/08/08(水) 23:24:39.900063デフォルトの名無しさん
2012/08/08(水) 23:28:53.290064デフォルトの名無しさん
2012/08/09(木) 09:47:35.72socatの動作の方がおかしいんじゃないかな
--hoge.rb
fd4 = IO.open(4)
fd5 = IO.open(5,'w')
fd5.puts(fd4.read)
--hofe.in
hello world
--shで実行
ruby hoge.rb 4<hoge.in 5>hoge.out #=> hoge.outにhello worldが出力される
0065デフォルトの名無しさん
2012/08/09(木) 21:07:05.14perl が error をはかないので勘違いしてました。
単独動作で error をはくだけで、socat の引数で
ruby script を与えれば動いていました。
socat 側でdescriptor 作って、 ruby の script を
call しているから、ruby 側は既に存在している fd を
割り当てるだけでよかったんですね。
コメントいただいた方々ありがとうございました。
0066デフォルトの名無しさん
2012/08/10(金) 01:01:20.23このクラスの上手な使い方が思いつきません(ずっとclassを使ってやってたので)
使用例の参考になるコードなどありますでしょうか?
0067デフォルトの名無しさん
2012/08/10(金) 01:19:39.23initializeと読み書きアクセサしかないようなクラスを作るイメージ。
LogEntry = Struct.new(:issuer, :severity, :timestamp, :message)
定型的なアクセサの生成をStructに任せ、返ってきた
無名クラスを継承して振るまい(メソッド)だけ追加する例。
class Location < Struct.new(:latitude, :longitude, :altitude)
def country
end
end
0068デフォルトの名無しさん
2012/08/10(金) 05:58:40.93initialize とアクセサメソッドが欲しいのならアクセサメソッドだけ定義しろ
class Location
attr_accessor :latitude :longitude :altitude
def country
end
end
使い道が思いつかない、または、他の手段で代替可能なのなら、絶対に使うべきではないクラス
0069デフォルトの名無しさん
2012/08/10(金) 06:09:36.160070uy
2012/08/10(金) 09:08:21.98はっああああああ??
それやると、selfからみれなくなるけどいいの????
複雑になるだけじゃないの??この動作知ってた?知ってた?ネェ知ってたー?WWW知らなかったのかな!!!!wwwwwっうひゃwwwっうぇwwwww
class Location < Struct.new(:latitude, :longitude, :altitude)
attr_accessor :x
def initialize
@x = 6
end
def country
self.latitude = 3
p self.latitude # => 2
p @latitude # => nil
p self.x # => 6
p @x # => 6
end
end
Location.new.country
0071uy
2012/08/10(金) 09:14:46.22p self.latitude # => 2 は p self.latitude # => 3 です
Structの活用は、メソッド内とかでちょっと構造体やらクラスっぽいのが必要になった時の
定義する時の文字数の違いとか、そのくらいだと思われる
def func
a = Struct.new(:x,:y).new
p a.x = 2
a = Class.new { attr_accessor :x,:y }.new
p a.x = 4
end
func
0072デフォルトの名無しさん
2012/08/10(金) 10:41:35.510073デフォルトの名無しさん
2012/08/10(金) 11:04:18.15基本classでいいよ
0074デフォルトの名無しさん
2012/08/10(金) 11:27:59.16最初からがっつり仕様が固まってるプロジェクトでおもむろに使うデータ構造だと思う
0075デフォルトの名無しさん
2012/08/11(土) 00:16:01.74こうなると利用シーンがよく分からないね
0076デフォルトの名無しさん
2012/08/11(土) 00:38:57.51「Hashのようなもの」を自前で実装した場合は、Hashそのものよりも格段に遅い
Hashに移譲したとしても、移譲自体が遅いのでやっぱり遅い
0077デフォルトの名無しさん
2012/08/11(土) 00:48:10.350078uy
2012/08/12(日) 20:50:51.52オブジェクトに追加した特異メソッドの削除を行いたいと思ったんですけど
instance_eval→undefしか方法が見つかりませんでした、
remove_methodやundef_methodはないみたいなんですけど特異メソッドの削除の方法ってこれしかないですか?
a = Object.new
def a.f
p 2
end
a.f
a.instance_eval do
undef_method :f rescue p "err0"
remove_method :f rescue p "err1"
undef :f
end
a.f rescue p "err2"
0079デフォルトの名無しさん
2012/08/12(日) 22:15:15.79a = Object.new
def a.a ; p :a_a ; end
def a.b ; p :a_b ; end
a.a
a.b
class << a
remove_method :a
undef_method :b
end
a.a rescue p :no_a
a.b rescue p :no_b
0081デフォルトの名無しさん
2012/08/14(火) 14:19:55.08以下で与えられるフィボナッチ数anを、入力したnに対して計算して表示するプログラムをtext.rbで保存して実行してください.
A₀=1,a₁=1,an=an−1+an−₂
0082デフォルトの名無しさん
2012/08/14(火) 14:33:36.43よっしゃ実行した次はなにすればいい? って返せ
0083デフォルトの名無しさん
2012/08/14(火) 14:35:31.13?
0084デフォルトの名無しさん
2012/08/16(木) 02:34:12.27うまく動いていたプログラムの中身をまるまるコピー
→新規作成でまるまる貼り付け
→名前を付けて保存
とやったらエラーが出るようになりました
調べたら改行の文字コードの問題っぽい気がするのですがどうやって直せば良いのでしょうか
RDE使ってます
0085デフォルトの名無しさん
2012/08/16(木) 02:47:51.68全然ちがうところ間違えてました
スルーしてください
0086デフォルトの名無しさん
2012/08/17(金) 23:09:56.09当方、macrubyにてプログラムをくんでいますが、
どうやったら終了時に実行されるメソッドを記述できるのかわかりません。
起動時に<def applicationDidFinishLaunching(a_notification)〜>が実行されるように、
終了時にもなにか構文みたいなものがあると思うのですが、ご存知の方いらっしゃいますか?
<def applicationWillTerminate(notification)>とか
<def windowWillClose(notification)>とかを試してみましたが、ピクリとも動きません・・・
0087デフォルトの名無しさん
2012/08/18(土) 01:32:56.88新Mac板にも前はRubyスレあった気がしたんだが…今見たら見付からないな
Googleで「applicationDidFinishLaunching site:developer.apple.com」でググったら
それっぽい資料がいくつかヒットするけど、どれかに無い?Terminateとか付いてるのあるからその辺りに
0088デフォルトの名無しさん
2012/08/18(土) 15:58:01.66レスありがとうございます! なんだかんだでできました!
def applicationWillTerminate(sender)で動きました!
もう一ヶ月くらい煮詰まっていたから嬉しい! 本当にありがとうございました!
0089デフォルトの名無しさん
2012/08/18(土) 18:30:47.12例えば全角チルダとか割り当ての無い文字があるとエラーになりますがその文字だけを無視するにはどうすればいいでしょうか?
0090デフォルトの名無しさん
2012/08/18(土) 19:54:06.14:undef => :replace, :replace => ''
0091デフォルトの名無しさん
2012/08/18(土) 20:32:28.42ありがとうございます
0092uY
2012/08/19(日) 06:50:09.11at_exit { } とか END { } 動かないの?
0093デフォルトの名無しさん
2012/08/19(日) 14:07:20.87xcodeでマックアプリを組んでいますが、残念ながら動かないです。
多少のobject-cの知識がないとmacrubyは厳しいです。
でも見た目のいいアプリがrubyで作れるのは最高です!
0094uY
2012/08/19(日) 17:02:01.770095uY
2012/08/19(日) 17:03:05.20Enumeratorを継承したクラスの使い方ってこれであってますか?
http://ideone.com/5m5qa
やりたいことは、
Enumerator.new内でまわしてるオブジェクトに外部から
>p y.cc.x
こんな感じにアクセスしたいって事なんですけど
なんかsuperって引数が暗黙的に渡される?っぽいじゃないですか
けどEnumerator.newのinitializeは引数が渡されるとブロックが評価されてない?ので
superとは別にEnumerator.newを呼び出してEnumを作ってます
一応動いてますけど、二重になってる気がして不安なんですけど
0096uY
2012/08/19(日) 21:22:10.76ブロックじゃなくてlambdaで渡したらうごきましたもういいです
class B < Enumerator
def initialize h
a = super do|y| loop{ y.yield 1 } end
p a.next # => 5
a = super &(lambda do|y| loop{ y.yield 1 } end)
p a.next # => 1
end
end
B.new [5,6,7]
0097uY ◆gXFLM6waxs
2012/08/20(月) 21:05:12.74:aaaa
ってやると
p Symbol.all_symbols
ここに追加されますけど、
p Symbol.all_symbols.size
1_000_000_0.times do|i| :"#{i}" end
p Symbol.all_symbols.size
このくらい生成してやると
`intern': symbol table overflow (symbol 2095337) (RuntimeError)
こうなる事が分かりました
いらなくなったシンボルを削除する方法ってあるんでしょうか?
0098uy
2012/08/21(火) 04:28:14.40シンボルは大事に使っていくことにします
0099デフォルトの名無しさん
2012/08/21(火) 04:39:46.44このプログラム(main.rb)は、README.rbを読み込んで、出力するものです。
https://github.com/217/VMacs
このバグに2時間ほど悩んだのですが、どうにも解決できませんでした。
ライブラリの相性の問題なのでしょうか?
わかる方がいらっしゃったら、教えてください。
0100デフォルトの名無しさん
2012/08/21(火) 06:24:28.99Linuxでも確認。このケースでは、setposの後にrefresh呼び出しで解消できるけど、
cursesを使う時は、表示が乱れるので標準出力へのprintは避けた方が無難。
cursesの作法で色指定するといいよ。
0101デフォルトの名無しさん
2012/08/21(火) 07:30:26.12あれは「クラスに属する関数なら::で呼ぶのがオブジェクト指向言語の常識」という、
ローカル実装を普遍定義と勘違いした痛い面倒な人を飼い馴らすための時代遅れの機能
0102デフォルトの名無しさん
2012/08/21(火) 11:01:55.720103デフォルトの名無しさん
2012/08/21(火) 11:04:50.50まあ、どっちも似たようなもんだけど
Rubyでの呼び方が絶対的にタダシイわけではないけれど、
Rubyではそう使うということになってるんだから、Rubyにおいては極力そのように使ってほしいよね
0104デフォルトの名無しさん
2012/08/21(火) 15:54:50.08:: だと大文字で始まる名前が定数と解釈されるので、メソッドと解釈させるには関数呼び出しの () が必要になる。
. で記述すると一貫して () を省略出来る。
0105デフォルトの名無しさん
2012/08/21(火) 20:12:53.72とりあえずsetposの後にrefresh呼び出したら動きました。
Cursesで色指定する事が出来るのを知りませんでした。なんとか動きました。
ありがとうございました。
0106デフォルトの名無しさん
2012/08/22(水) 21:58:17.440107デフォルトの名無しさん
2012/08/23(木) 00:14:29.47やはり以下のように外部変数を置くしかないのでしょうか?
v = 0; arr.map{ |i| v+=i }; return v
0108デフォルトの名無しさん
2012/08/23(木) 00:34:08.73irb> puts [1,2,3].inject{|r,x| r +=x}
6
それがスコープで消えるかどうかの違いでしかない
0109デフォルトの名無しさん
2012/08/23(木) 00:37:49.69単純に足すだけならこれでもk
(1..10).to_a.inject(:+)
#=> 55
0110デフォルトの名無しさん
2012/08/23(木) 00:39:02.62[1, 2, 3].inject {|a, b| a + b }
ではダメなん?
0111デフォルトの名無しさん
2012/08/23(木) 00:50:58.00現在のRubyにおける一般的最短は arr.inject(:+)
中身的には>>110
変数内部効率ウンタラを求めてるんじゃなくて単に見かけで変数がなければいいだけだと思うので、Ruby1.9でarr.inject(:+)するかRuby1.8/1.9で>>108しろ
0112デフォルトの名無しさん
2012/08/23(木) 03:17:55.02操作Aのあと操作Cを行う,ということを繰り返したいのですが,
もし操作Cでエラーが出る場合はAとCの間に操作Bを行わなければなりません
操作A
while
begin 操作C
rescue 操作Bやってから操作C
0113デフォルトの名無しさん
2012/08/23(木) 03:19:08.54今書いているプログラムが
操作A
while
begin 操作C
rescue 操作Bやってから操作C
end
さらにCのあとにやりたいこと
end
0114デフォルトの名無しさん
2012/08/23(木) 03:20:46.42>>113のように書いているのですが,操作A→Cだけで済むようなときにエラーが出てしまいます
こういうパターンって例外処理ではないのでしょうか?
0115uY
2012/08/23(木) 03:35:51.05# 操作C
next ########################NEXT#########################
rescue
# 操作Bやってから操作C
end
# さらにCのあとにやりたいこと
0116デフォルトの名無しさん
2012/08/23(木) 03:39:57.72ちょっと話を整理して欲しい所
操作Cを実行せずに、操作Cでエラーが出るかは分からないのだから
「もし操作Cでエラーが出たら、操作Cの前に操作Bをやる」
という制御の流れは実現不可能だ
基本的な制御構造はA→C→A→C→……だと思われるので
while 条件
操作A
操作C
end
でいいと思う。ここにどう操作Bを足すかは、やりたいことによる
0117デフォルトの名無しさん
2012/08/23(木) 03:48:46.33ありがとうございます
今回は操作Bを行うきっかけが「Cができるかできないか」としか書けないので
例外を使う方法で考えてみました
なのでBは例外的に必要というよりは,「CができないならBをつかう」という一種の選択肢なのです
2回に1回くらいBを使わなければならないので...
0118デフォルトの名無しさん
2012/08/23(木) 05:36:06.48本当にそうとしか表現できないのなら、なにをしたいのか本当は自分でもわかっていない
>>112と>>117の時点でまったく別のことを喋っている
自分でもわかっていない粒度・抽象度のものを私たちが理解して回答してあげることはできない
ということで、いっそ全部喋るか、適切な粒度にざくざく切るという行為に時間かけろ
Rubyには条件分岐とループと例外によるジャンプしかないんだから
0119デフォルトの名無しさん
2012/08/23(木) 06:50:57.470120デフォルトの名無しさん
2012/08/23(木) 07:15:20.40「例外を使うべき例外的場面」なんてのは例外使いまくって火傷どころか焼死しないとピンと来ない
公開ライブラリでないのなら、初心者はぜひ例外使いまくって泣いてください
0121デフォルトの名無しさん
2012/08/23(木) 08:27:20.67rescue節で実行している操作Cで出た例外を捕捉する記述がないから
begin
操作C
rescue
操作B
retry # beginに戻る
end
0122デフォルトの名無しさん
2012/08/23(木) 08:36:49.47マニュアルの制御構造を参照してね。
begin
〜
rescue ErrorA
ErrorA例外時の処理
rescue
StandardErrorとサブクラス例外時の処理
else
例外が発生しなかった時の処理
ensure
必ず実行する処理
end
0123デフォルトの名無しさん
2012/08/23(木) 08:52:53.65else if を使いこなせない馬鹿のための syntax sugar
0124デフォルトの名無しさん
2012/08/23(木) 09:29:22.650125uy
2012/08/23(木) 09:31:21.62どんな発展途上国からおこしの技術者だよ
0126デフォルトの名無しさん
2012/08/23(木) 18:04:09.25> p IPAddr.new("10101100000100000000101000000001")
#<IPAddr: IPv6:1010:1100:0001:0000:0000:1010:0000:0001:0000:0000:0000:0000:0000:0000:0000/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>
と解釈されてしまいます。自分でunpackして作るしかないのでしょうかね。。
0127デフォルトの名無しさん
2012/08/23(木) 18:43:00.68'172.16.10.1'
0128デフォルトの名無しさん
2012/08/23(木) 19:05:10.86それだとエラーになったので、素直に2進数で渡してみたよ。
ruby1.9.1 -e "require 'ipaddr';p IPAddr.new(0b10101100000100000000101000000001,Socket::AF_INET).to_s;"
"172.16.10.1"
0129uy
2012/08/23(木) 19:07:27.38'172.16.10.1'
0130デフォルトの名無しさん
2012/08/23(木) 19:34:37.52a = "10101100000100000000101000000001"
p IPAddr.new(a.to_i(2) ,Socket::AF_INET).to_s
=> "172.16.10.1"
0131デフォルトの名無しさん
2012/08/23(木) 19:56:56.340132デフォルトの名無しさん
2012/08/23(木) 20:07:18.830133デフォルトの名無しさん
2012/08/23(木) 20:11:58.61http://www.nikkei.com/article/DGXNASDG2303P_T20C12A8CC1000/
北海道旭川市の西川将人市長は23日の記者会見で、市が運営する旭山動物園から逃げた
ヨーロッパフラミンゴの捕獲作業で、フラミンゴをおびき寄せるために用意したおとり1羽が死に、
1羽が行方不明になったことを陳謝した。
市長は「フラミンゴは1羽25万〜30万円。市民に損害を与えて申し訳ない。
犠牲になったフラミンゴにも申し訳ないと思っている」と述べた。
2羽のフラミンゴはキタキツネに襲われたとみられ、動物園には電話で苦情が約50件寄せられた。
市長は「捕獲して戻すことが重要な役割だ」として捕獲作業を継続する方針を示した。
同時に「寒くなれば南に飛んでしまう可能性があるので、なるべく早く連れ戻したい」と述べた。
紋別市・コムケ湖で今月17〜18日に行われた動物園による捕獲作業では、逃げたフラミンゴの捕獲に失敗し、
おとりで用意した4羽のうち2羽を失った。園は既に、おとりを使った捕獲の中止を決めている。〔共同〕
0134デフォルトの名無しさん
2012/08/25(土) 09:42:26.82Scl = 20
num = [rand(Scl) + 1]
while num.size <= Scl
elm = rand(Scl) + 1
num.each {|i|
if
num[i] != elm
num << elm
end
}
puts "num_size = #{num.size}"
end
print num
これだと、同じ数が並ぶわ、配列のサイズもバラバラで全くうまくいきません
0135デフォルトの名無しさん
2012/08/25(土) 09:51:32.760136デフォルトの名無しさん
2012/08/25(土) 14:30:00.74ただ、1.9では .to_a は使えない様なので arry.shuffle で良さそうですね
ありがとうございました。
0137デフォルトの名無しさん
2012/08/25(土) 15:32:57.30とか考えたけど、shuffle1つで済むのか
やっぱりArrayとかEnumerableとかのメソッドは流し見して覚えておくべきだね
0138uy ◆gXFLM6waxs
2012/08/26(日) 00:57:04.781日10個ずつ確実に覚えるよりも
1日100個を流し読みしたほうが効率いいんだよ
0139デフォルトの名無しさん
2012/08/26(日) 14:04:13.44crontabの設定で対象のrubyプログラムの標準出力のみ/dev/nullにリダイレクトしていますが、rescueで捕捉したエラーについてはメールされるのを防ぎたいです。
warnでエラーを確認したいのは直接実行する時だけで、cron実行時は想定していないエラーのみ確認したいのです。
0140デフォルトの名無しさん
2012/08/26(日) 14:26:31.17ruby のコマンドラインオプションに -W0 を追加する
0142デフォルトの名無しさん
2012/08/27(月) 23:56:21.48Netbeansは打ち切られていて。。
0143デフォルトの名無しさん
2012/08/27(月) 23:59:47.860144デフォルトの名無しさん
2012/08/28(火) 00:37:49.99emacsのruby-modeって、rubyの方がサポートしてるんじゃなかった?
0145デフォルトの名無しさん
2012/08/28(火) 22:47:30.79Ruby1.8でMeCabを使おうと思っているのですがすでにサンプルプログラム落ちてたりしませんかね…
0146デフォルトの名無しさん
2012/08/28(火) 22:54:20.630147デフォルトの名無しさん
2012/08/28(火) 23:00:53.46MeCabと言ったら日本語解析しかないだろう。出てくる語句の頻度で判定するなんて言うまでもなく。
あ、質問者じゃないから。
migemoならプログラムから使ったことあったな。そういえばあの超便利ソフトもとはrubyか。
0148デフォルトの名無しさん
2012/08/28(火) 23:01:09.83http://blog.64p.org/entry/2012/08/28/131329
rubyからCPANモジュールを動かすことは技術的に可能?
0149デフォルトの名無しさん
2012/08/28(火) 23:01:35.250150デフォルトの名無しさん
2012/08/28(火) 23:06:47.51jsで、perlインタプリタを作るまでやるか!?
と思ったけどc++で書かれ、実体はバイナリなのね。
0151デフォルトの名無しさん
2012/08/28(火) 23:19:46.07意味的な話じゃなくて字面上の類似なら文字列の距離として
定義されているものを使えるように思う。
レーベンシュタイン距離とかハミング距離とか。
0152デフォルトの名無しさん
2012/08/29(水) 00:33:19.21こういうこと?
def norm doc
sum = 0.0
doc.each_value{|v| sum += v * v}
Math.sqrt(sum)
end
def cosine_similarity doc1,doc2
sum = 0.0
(doc1.keys & doc2.keys).each {|k| sum += doc1[k] * doc2[k]}
sum / (norm(doc1) * norm(doc2))
end
doc1 = {"私" => 1, "太郎" => 1} # 単語の頻度
doc2 = {"私" => 1, "花子" => 1}
puts cosine_similarity doc1,doc2
0153デフォルトの名無しさん
2012/08/29(水) 00:46:21.53参考までに。
Octopress/JekyllでGroongaによる類似文書検索機能を使う
http://arika.org/2012/07/28/jekyll-and-groonga-similar-search/
0154デフォルトの名無しさん
2012/08/29(水) 05:02:47.750155デフォルトの名無しさん
2012/08/29(水) 18:10:00.840156デフォルトの名無しさん
2012/08/29(水) 20:57:05.07Class C を共通で使いたくなりました。file C.rb で require "A" を "B" 、A::hoge を B::hoge
にするだけですが、class C (file C.rb) は1つのままにしたいです。さらに、Class C を
インスタンスするときにA,B を指示する I/F にはしたくないです。module A,B の wrapper を
用意してclass C はそれを使い、module の切り替えは global チックに行いたいのですが、
その wrapperをどのように記述したらよいかが、わかりません。。
file A.rb
module A
module_function
def hoge(x,y)
end
end
file B.rb
module B
module_function
def hoge(x,y)
end
end
file C.rb
require "A"
class C
def initilize(z)
@x = z
def hoge(w)
A::hoge(@x,w)
end
end
0157デフォルトの名無しさん
2012/08/29(水) 21:58:08.61AとBを同時に使う必要が無いのであれば
AとBはクラス名を同じにしてそれぞれでrequire 'C'すればいんでね
そうでないなら例えばこんなん
class C
def self.m=(mod) ; @m = mod ; end
def self.m ; @m ; end
def hoge(w) ; self.class.m::hoge(@x,w) ; end
end
C.m = A
0158uy
2012/08/30(木) 02:01:13.96module_function
def hoge x , y
p :a
end
end
module B
module_function
def hoge x , y
p :b
end
end
class C
class << self
attr_accessor :mod
end
def initialize z
@x = z
end
def hoge w
self.class.mod.method(__method__).call @x , w
end
end
C.mod = B
c = C.new 2
c.hoge 4
0159デフォルトの名無しさん
2012/08/30(木) 23:22:57.36やりたいことができました。本当に助かりました
動的なケースと静的なケースどちらも教えて
いただけて感激です。
確かに静的なケースでは、異なるファイル名で
準備しておいて require しながら起動すれば、
自然に使えますね。依存関係でこり固まっていた
思考が溶けた気分です。
0160デフォルトの名無しさん
2012/08/30(木) 23:23:43.380161デフォルトの名無しさん
2012/08/31(金) 06:45:57.23> (1..20).sort_by{rand}
それ、考えなしの安直プログラマーが高確率でやらかす、典型的なやってはいけないアンチパターンだな。
これは偏りが発生するのでアウト。確率論の問題としては良い題材だから、理由は自分で考えてみるといい。
ぐぐるとこれと同じパターンをやらかす人間が多くて唖然とするが。
0162デフォルトの名無しさん
2012/08/31(金) 10:42:37.54shuffleが無かった時代に、偏ってもいいからサクッと書きたい用途でよく使われてたんだよ
当時から「ちゃんと混ぜるならちゃんと書く」という風に知られてた
0163デフォルトの名無しさん
2012/08/31(金) 11:36:15.90sort_by{rand(20)} とか sort{rand-0.5} とかやるならともかく
0164デフォルトの名無しさん
2012/08/31(金) 12:21:11.0262.6418390534633
irb> a=(1..6).to_a; r=Hash.new{|h,k| k=0}; 1000000.times{r[a.sort_by{rand}] +=1}; d=r.values; p Math::sqrt(d.inject(0){|x,y| x+y*y}/d.size-(d.inject(0){|x,y| x+y}/d.size)**2)
61.37589103222861
うん、たいして変わらんですな
0165デフォルトの名無しさん
2012/08/31(金) 12:47:16.122: a = [1,2,3,4,5]
3:
4: a.each do |b|; c = b; end
5: p c
6:end
これだとcのスコープが4行目内だけになってエラーになりますが
そこで3行目に
c = nil
と入れているんですがこれでいいでしょうか?
もっとスマートな方法はないでしょうか
0166デフォルトの名無しさん
2012/08/31(金) 12:53:56.710167デフォルトの名無しさん
2012/08/31(金) 13:17:29.57スコープがそのようになっているんだから、そのように書くのがいちばんスマートだと思うがなにか問題ある?
0168uy
2012/08/31(金) 14:40:17.282: a = [1,2,3,4,5]
3: p a.last
6:end
0169uy
2012/08/31(金) 14:46:12.18変数宣言がイヤだって事か
元コードみないとわからんけど、eachじゃなくてinjectとかeach_with_objectでやって
そのイテレータの戻り値をcに格納すれば
0170デフォルトの名無しさん
2012/08/31(金) 15:17:26.34このイディオムはsort_byだから問題ないんだろうと思ってたが
0171デフォルトの名無しさん
2012/08/31(金) 15:37:46.80いるよねー、ランダムのラの字を行った瞬間に脊髄反射で食って掛かるひとw
0172デフォルトの名無しさん
2012/08/31(金) 22:21:59.27ありがとうございます
すいません
説明不足でしたがブロック内で初めて変数を使うとスコープがそのブロック内になってしまうので
>>165のようにブロックの前で変数を宣言するのか(グローバル変数は使うべきではないですよね)もっといい方法があるのか知りたかったということです
>>168>>169
なるほどこれは便利ですね
0173デフォルトの名無しさん
2012/08/31(金) 22:45:17.75>>137は偏るの?
0174デフォルトの名無しさん
2012/09/01(土) 10:10:46.31>>163のパターンは偏るはず
sort_by{rand}はほとんど偏らないけどshuffleよりかなり重い
0175デフォルトの名無しさん
2012/09/02(日) 14:15:38.97def a; p "this is method a"; end
end
class MyClass
include MyModule
def b; p "this is method b"; end
a rescue p "no such method"
b rescue p "no such method"
end
MyClass.new
これでメソッドaとbがないと怒られてしまうのは何ででしょう?
クラス定義の中ではレシーバselfはカレントクラスであるMyClassを参照するはずなのでメソッドa,bを呼べるのでは、と思ったのですが…
0176デフォルトの名無しさん
2012/09/02(日) 14:31:05.87そして、インスタンスメソッドはクラス定義のclass...endの文脈では呼べない
class C
def a; end
a
end
が3行目でNoMethodError起こすのと同じ理屈
これで納得しない場合はincludeとはなんぞやという話になる
0177デフォルトの名無しさん
2012/09/02(日) 15:36:55.010178デフォルトの名無しさん
2012/09/02(日) 19:00:21.38調べてみたりしてなんとなくincludeの役割がわかりましたが、次のコードが動かない理由がわからないです
module MyModule
def self.a; p "this is method a"; end
end
class MyClass
include MyModule
end
MyClass.a
aメソッドをクラスメソッドではなくインスタンスメソッドとして定義してextendしたら MyClass.a で実行できることは確認しました
includeもextendもクラスメソッドは相手にせず、インスタンスメソッドしか見ないという事なんでしょうか
0179デフォルトの名無しさん
2012/09/02(日) 20:00:57.17あるのはクラスインスタンスのインスタンスメソッド。
あとはincludeとextendが何をするものかを考えれ。
0180デフォルトの名無しさん
2012/09/02(日) 20:42:44.15横から勝手に訂正させてもらうね
×あるのはクラスインスタンスのインスタンスメソッド。
○あるのはクラスインスタンスの特異メソッド。
0181デフォルトの名無しさん
2012/09/02(日) 20:44:52.28普段考えるぶんにはそれでもいいし統一概念ですっきりするんだけど、でも本当はやっぱり違う…
0182デフォルトの名無しさん
2012/09/03(月) 00:25:02.82モジュール側のメソッド内でそのクラスのインスタンス変数にアクセスするのって普通ですか?
0183uy
2012/09/03(月) 05:05:18.87個人的な意見でいえばそこら辺明らかに仕様がイかれてるから
バージョンアップ時に動かないソース作りたくなければ
あまりこだわったことやらない方がいいと俺様は思う
0184デフォルトの名無しさん
2012/09/03(月) 06:30:18.49システム上および慣習上の問題はないよ
特定のクラス専用の実装べったりのmix-inだね
だいたいにおいてあとあと後悔したりもするが、それが起こらない限りは便利だろう
0185デフォルトの名無しさん
2012/09/03(月) 08:23:23.82def には役目が2つある
ひとつは、その文脈でのメソッドの定義(予約)
module M
def a; end
end
class C
def b; end
end
これらはメソッドの定義行為であって、その時点で実際にメソッドが作られるわけではない
(include先が)newしたときに、生成オブジェクトに対してインスタンスメソッドとしてどさっと追加される
そしてもうひとつ、既に存在する特定のオブジェクトに対する特異メソッドの追加
def obj.s; end
これは特異メソッドの追加で、オブジェクトobjに対して即座に特異メソッドsを追加する
module MyModule
def self.a; p "this is method a"; end
end
でのdefはその文脈におけるselfの指すオブジェクト(ModuleクラスのオブジェクトMyModule)に特異メソッドを追加する行為であって、クラスやモジュールにメソッドを定義することではない
モジュールオブジェクトMyModuleは定義されたメソッドを持ってないので、includeしようがextendしようがメソッドは使えない
0186デフォルトの名無しさん
2012/09/03(月) 09:38:20.46初歩的すぎるかもしれませんm(_ _)m
1.9だとerbコマンドは使えないんでしょうか?
参考にしている本は1.8前提だったので;
USB(F:)に入れたためコマンドプロントから入力している状況です
F:\>ruby erb hello.txt.erb
と入力すると、ファイルかディレクトリが見つかりませんというメッセージが出ます
hello.txt.erbというファイルはFドライブに入れています
わかる方教えて頂きたいです
0187デフォルトの名無しさん
2012/09/03(月) 09:45:00.50実行できないとしたらそれはcmd.exeが実行ファイルを見つけられないだけだろう
なに言ってるかわからないのなら、フォルダ/ディレクトリと実行パスの勉強をするといい
どうせこれからもずっと必要になる知識だ
0188デフォルトの名無しさん
2012/09/03(月) 09:49:38.88回答を頂けて安心しました
勉強します!
0189デフォルトの名無しさん
2012/09/03(月) 17:31:55.82あれば
ruby erb ではなくてerbだけで実行できるはずですが
0190182
2012/09/03(月) 21:53:13.15やはり下位のものを上位に持っていくことは極力避けるべきですかね
まだ歴が浅いので、システム面や慣習に関する言及は助かります
0191デフォルトの名無しさん
2012/09/03(月) 22:04:43.67だから管理できる範囲であるならどうでもいいって
ユーザーがincludeして使うモジュールを作ってるわけでも、ファイル数が30超えてるめんどくさいライブラリを作ってるわけでもあるまい
あるオブジェクトのメソッドがクラス定義に書いてあったものかモジュールで追加されたものかを気にする人はまずいない
ほんとにそっちのほうがプログラミングに便利だと確信するのなら、メソッド定義をごっそりモジュールに移すといい
0192デフォルトの名無しさん
2012/09/04(火) 06:12:17.13def f
p 3
end
lambda(&f).call
これを実行すると
:6:in `<main>': wrong argument type Fixnum (expected Proc) (TypeError)
と、でるんですけど動作原理が良く分かりません
どうなっているんでしょうか?
0193デフォルトの名無しさん
2012/09/04(火) 06:36:43.28lambda(&3).call
3はProcじゃないしto_procも定義されてないからlambda(&3)でエラー
0194デフォルトの名無しさん
2012/09/04(火) 06:59:32.420195デフォルトの名無しさん
2012/09/04(火) 08:37:00.94hogeというメソッドを何度も実行したいとき、
1000.times { B.hoge }
というよりも、
app = A.new
1000.times { app.hoge }
とやるほうがいいのでしょうか?
class A
def initialize
...
end
def hoge
...
end
end
class B
def self.hoge
...
end
end
0196デフォルトの名無しさん
2012/09/04(火) 10:45:31.38なおかつどうしてもRubyでやらなければ家族がどうなるかわからないぞと脅されているのなら、俺なら前者で書く
なぜなら、定数Bとローカル変数appを比べたとき、絶対的に定数Bのほうが参照が速いから
そうでないのなら意味的に妥当なほうでやるといい
このためにクラスメソッドっぽくない使い方するクラスメソッドをわざわざ作るようなことはしない
0197デフォルトの名無しさん
2012/09/04(火) 10:55:13.62もしそうならクラスメソッドとかの出番だろうか
0198デフォルトの名無しさん
2012/09/04(火) 12:00:10.98効率とエレガントさに関してはどっちも変わらん
0199デフォルトの名無しさん
2012/09/04(火) 22:09:07.930200デフォルトの名無しさん
2012/09/09(日) 20:24:13.081.8.7使えってことかよ。
0201デフォルトの名無しさん
2012/09/09(日) 21:20:17.29ttp://ruby-opengl.rubyforge.org/build_install.html
まあ最新が2009年なので現在の環境ではどーやっても動作しない可能性はないでもない
0202195
2012/09/10(月) 02:15:56.97スピードと使い勝手の勘所、
よくわかりました、あざっす!
0203デフォルトの名無しさん
2012/09/10(月) 10:06:55.790204デフォルトの名無しさん
2012/09/10(月) 10:29:53.45メソッドを1回使いたいだけなのに毎回オブジェクトを作るのはなんかアレだということが起こらないという点でもエコ
っていうか状態を保持利用しない単発野良メソッドでいいならモジュールのクラスメソッドでいい
module M
def M.mes
end
end
M.mes
M.mes
M.mes
0205デフォルトの名無しさん
2012/09/13(木) 11:55:57.43touch -t yymmddみたいなものです。
File.mtime File.atimeはただ取得するだけみたいなのです。
system(touch -t yymmdd)するしかないですか?
0206205
2012/09/13(木) 11:57:46.800207デフォルトの名無しさん
2012/09/13(木) 12:02:41.510209デフォルトの名無しさん
2012/09/13(木) 13:12:39.380210デフォルトの名無しさん
2012/09/14(金) 11:11:18.61C、Java、Pythonは経験あるんだが
0211デフォルトの名無しさん
2012/09/14(金) 12:36:26.71素直に入門書を手に取るべきだったな
0212デフォルトの名無しさん
2012/09/14(金) 12:58:29.160213デフォルトの名無しさん
2012/09/14(金) 23:15:17.09あれをいきなりやるのは難しいと思う
『初めてのRuby』辺りで書き方をつかむと、言語仕様との落差にびっくりする
大部分のケースでは平易に書ける一方で
細部をつつくといくらでもカオスになるのがRuby
0214デフォルトの名無しさん
2012/09/15(土) 22:14:50.24例えば "$RECYCLE.BIN" と "System Volume Information" というフォルダです。
これらのフォルダが存在しないパス上で、これらの名前でフォルダを作れるので名前で判定することは出来ません。
どなたか知恵を伝授してください。
0215デフォルトの名無しさん
2012/09/16(日) 01:34:44.72var o, f;
var hidden = 2;
var system = 4; // 設定がわからん
var folder = 16;
var mask = hidden | folder;
o = WScript.CreateObject("Scripting.FileSystemObject");
f = o.GetFolder("D:\\work\\hiddenFolder");
if( (f.Attributes & mask) == mask ) {
WScript.echo("hidden | folder");
}
/*
D:\work>cscript attr.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
hidden | folder
D:\work>
*/
0216デフォルトの名無しさん
2012/09/16(日) 02:13:49.46ファイル属性を表示または変更します。
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [[ドライブ:] [パス] ファイル名]
[/S [/D]]
+ 属性を設定します。
- 属性を解除します。
R 読み取り専用属性。
A アーカイブ属性。
S システム ファイル属性。
H 隠しファイル属性。
/S 現在のディレクトリとすべてのサブフォルダの一致するファイルを
処理します。
/D フォルダも処理します。
D:\work>attrib /s /d hiddenFolder
HR D:\work\hiddenFolder
D:\work>
0217デフォルトの名無しさん
2012/09/16(日) 13:37:15.68cscriptの他にRubyからWind32apiを呼び出すぐらいしか方法ないでしょうか?
0218デフォルトの名無しさん
2012/09/16(日) 14:17:06.28https://github.com/djberg96/win32-file-stat
system? と hidden? で取れるっぽい
0219デフォルトの名無しさん
2012/09/16(日) 17:50:34.30死ねバカwwwwwwwwwwwwwwwwwwwwwwww
死ねwwwwwwwwwwwwwwwwwwwwwwww
死ねwwwwwwwwwwwwwwwwwwwwwwww
死ねwwwwwwwwwwwwwwwwwwwwwwww
ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww
ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww
死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww
死ねコラゴミwwwwwwwwwwwwwwwwww
0220デフォルトの名無しさん
2012/09/17(月) 02:21:48.68http://woman.infoseek.co.jp/news/entertainment/cyzowoman_16Sep2012_25106
日韓の関係悪化の影響により、韓流離れが加速する現在のテレビ業界。
しかし、2年ほど前には広告代理店を中心に「ゴールデンタイムの番組には韓国人タレントを使用する」流れが作られていたという。
現在は吉本興業所属の芸人が幅を利かせる“ひな壇タレント”を、そっくり韓流と入れ替えるという計画だったそうだ。
日本国内で、KARAや少女時代がブレークした2010年。
日本音楽事業者協会会長で「尾木プロ」社長の尾木徹氏が、K-POPアーティストの誘致に尽力したと伝えられていた。
そして同時期頃から、広告代理店やテレビ局上層部の間では、こんな“定説”が存在していたという。
「2011年以降は、ゴールデンのバラエティから、吉本芸人はほとんどいなくなります。
代わりにひな壇に座るのがK-POPアーティストや、韓流タレントたち。
安定してレギュラー番組を続けられそうなのは明石家さんま、島田紳助、ダウンタウンくらいで、その他の芸人たちは有名無名問わず降板させていこうという方針でした」(広告代理店幹部)
ところが3月の震災で、エンタメ業界は数カ月ほど停滞状態が続くことに。
その前後に日本デビューを果たしたK-POPアーティストや、バラエティに登場した韓流タレントも少なからず存在したが、テレビ出演者が大幅に入れ替わるといった事態に至ることはなかった。
「紳助は引退してしまったし、高岡蒼佑のフジテレビ韓流傾倒批判など想定外の事態はいくつも発生しました。
特にネット上でのフジテレビ批判は見過ごせるレベルの話ではなく、連日の抗議デモやスポンサー企業の不買運動など、韓流に対する不安要素ばかりが高まっていきました」(同)
そして今回の竹島問題で、韓流コンテンツへの傾倒に関して沈黙を貫いてきたテレビ各局も、方針を表明。
フジテレビは当面韓流ドラマの放送予定はないとし、またBS日テレの定例会見では赤座弘一社長が「韓国ドラマが多すぎるのではという声もある。
少なすぎるという声はないので、今後、(韓流ドラマを)少なくしていく方向になると思う」と発言したことも話題になった。
0221デフォルトの名無しさん
2012/09/17(月) 12:18:52.78require 'net/http'
Net::HTTP.start("area-baito.weban.jp", 80) do |http|
response = http.get('/webapp/are/PSPCALI200L.do?A1=03&J1=07&V1=05&Z1=014&CMD=300&FID=300&V13=40&V2=1')
puts response.body
end
しかし結果は何も表示されません。
調べてみると、responseの時点で、正常であればNet::HTTPOKが返ってくるはずなのですが、
上のプログラムだとなぜかエラーページにリダイレクトされてNet::HTTPFoundが返ってきていました。
http://area-baito.weban.jp/webapp/are/PSPCALI200L.do?A1=03&J1=07&V1=05&Z1=014&CMD=300&FID=300&V13=40&V2=1
というアドレスはブラウザで見れば正常に見れるURLです。
なぜプログラムで取得しようとするとエラーページに飛ばされてしまうのでしょうか?
0222デフォルトの名無しさん
2012/09/17(月) 12:55:07.69$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
$ ruby hoge.rb
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
:
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
:
0223221
2012/09/17(月) 13:35:02.72試していただいてありがとうございます。
ただ、それはrubyのバージョンの違いのようです。
1.8.7だとリダイレクト先の結果が表示されるみたいです。
私の環境の1.9だと何も表示されないようです。
いずれにしてもエラーページにリダイレクトされているみたいです。
プログラムでアクセスするとanのサーバー側で何かしらのヘッダーを見て、これはロボットだからエラーに飛ばせ、
みたいな処理をしているのかなぁと。。
0224デフォルトの名無しさん
2012/09/17(月) 13:49:19.74とりあえずUser-Agentの偽装くらいは試そうぜ。
0225221
2012/09/17(月) 14:12:48.25javascriptはブラウザで無効にしてもページが見れたので、問題ないようです。
0226222
2012/09/17(月) 15:05:31.78調べてみたら、User-AgentとCookieのANUSRIDを返せばページが返ってくるみたい。
Cookieは他にもJSESSIONID等がセットされるので、それらも含めてちゃんと
セットするのがよいと思う。とりあえず確認するなら、ブラウザが保存しているANUSRIDを
使ってみればいいかと
require 'net/http'
Net::HTTP.start("area-baito.weban.jp", 80) do |http|
hdr = Hash.new
hdr['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1'
hdr['Cookie']='ANUSRID=999999999999999999999999999999999999999999'
response = http.get('/webapp/are/PSPCALI200L.do?A1=03&J1=07&V1=05&Z1=014&CMD=300&FID=300&V13=40&V2=1', hdr)
puts response.body
end
0227221
2012/09/17(月) 19:33:21.58もう諦めていたので2chを見ていませんでした。遅くなってしまいすいませんでした。
クッキーを設定しないと駄目だったとは・・・これは自力では無理でした。ありがとうございました。
0228デフォルトの名無しさん
2012/09/18(火) 07:29:40.400229デフォルトの名無しさん
2012/09/19(水) 15:23:37.62ライブラリーとモジュールの違いを分かりやすく説明してくれないでしょうか?
グーグルで調べたんだけどいまいち分からない。
0230デフォルトの名無しさん
2012/09/19(水) 16:25:38.37ライブラリに沢山関数があると訳が判らなくなるので名前空間がぶつからないように整理したり
必要に応じて関連した処理や機能でまとめてライブラリにしたものがモジュール
0231デフォルトの名無しさん
2012/09/20(木) 00:35:11.70クラスにモジュールをインクルードして新しいクラスを作る機能をMix-inと呼びます。
多重継承と対照的に、単一継承によって、Rubyは、継承関係を保ちながら、
モジュールのMix-inによって、多様な依存関係を表現できます。
0232デフォルトの名無しさん
2012/09/20(木) 05:17:09.05NoMethodError: undefined method `-' for true:TrueClass
>> [1,2,3,4,5].sort{|i,j| i.odd? <=> j.odd?}
NoMethodError: undefined method `<=>' for true:TrueClass
>> [1,2,3,4,5].sort{|i,j| i.odd?.to_i - j.odd?.to_i}
NoMethodError: undefined method `to_i' for true:TrueClass
>> [1,2,3,4,5].sort{|i,j| (i.odd? ? 1:0) - (j.odd? ? 1:0)}
=> [2, 4, 3, 1, 5]
実際に使いたいのはodd?ではなくString#include?等なんですが
boolの比較のもうちょっとスマートな書き方ってないでしょうか
0233デフォルトの名無しさん
2012/09/20(木) 06:14:21.84[["A1", "A3", "4A"], ["2b", "c5"]]
irb> p %w[A1 2b A3 4A c5].partition{|s| s.include?('A')}.map{|a| a.sort}.flatten
["4A", "A1", "A3", "2b", "c5"]
あんま短くなってないっすな
0234デフォルトの名無しさん
2012/09/20(木) 06:28:01.860235デフォルトの名無しさん
2012/09/20(木) 12:13:48.33true と false を比較したら true が先に来て欲しいという要望は結構あるんだが
?> [2,3,1,5,4].sort_by{|x| [(x.odd? ? 1 : 0), x]}
[2, 4, 1, 3, 5]
0236デフォルトの名無しさん
2012/09/21(金) 07:55:38.84クソだな
0237デフォルトの名無しさん
2012/09/21(金) 08:16:34.63真偽はなぜかPascalをはるかに上回る厳格さ(≒貧弱さ)というのが謎だ
0238デフォルトの名無しさん
2012/09/21(金) 10:41:20.09単に「そういう設計」というだけのことなのだが。
C言語あたりを、たいして深く理解もせずに、他の言語を、
俺の知ってる言語と違うとdisる輩は多いねぇ。
0239デフォルトの名無しさん
2012/09/21(金) 11:00:59.450240デフォルトの名無しさん
2012/09/21(金) 21:21:39.20http://msdn.microsoft.com/ja-jp/library/system.boolean_members%28v=vs.80%29.aspx
0241デフォルトの名無しさん
2012/09/21(金) 23:39:02.69if t[0,s.size] == s
0242デフォルトの名無しさん
2012/09/21(金) 23:45:34.39true
irb> p 'Perl'.start_with?('Ru')
false
Ruby1.8.6では動作しないので正規表現を使う
irb> p 'Ruby' =~ /\A#{'Ru'}/
0
irb> p 'Perl' =~ /\A#{'Ru'}/
nil
0243デフォルトの名無しさん
2012/09/21(金) 23:46:34.980244デフォルトの名無しさん
2012/09/21(金) 23:53:11.030245デフォルトの名無しさん
2012/09/22(土) 00:34:21.36=> 0
0246デフォルトの名無しさん
2012/09/22(土) 00:38:03.01"This is a pencil." =~ /\A#{Regexp.quote("This is a pen.")}/
これでいっすか
0247デフォルトの名無しさん
2012/09/22(土) 00:43:25.34ありがとうこれで行きます
0248デフォルトの名無しさん
2012/09/22(土) 06:46:31.03両国の対立はこれまでにも繰り返され、そのたびに「政治と経済は別」との考えから沈静化に向かっていた。
ところが今回は「嫌韓ムード」もあり、問題再燃から1カ月近くたった今も沈静化どころか、影響が拡大しつつある。
「韓国は海外渡航先でトップ3に入るドル箱。事態の長期化だけは避けてほしいのだが…」
大阪市内の日本旅行の店頭には担当者の願いもむなしく、8月下旬以降、韓国への個人パック旅行のキャンセルが
止まらない。関西発着分の9〜10月の予約は前年同期比4割減にまで達しているほどだ。
旅行会社にとってはドル箱の韓国だが、韓流に夢中となり、韓国に何度も出掛けていた女性を中心とする日本人の
意識も少しずつ変わり始めている。
「どのチャンネルも似たような韓国ドラマばかりでうんざりしている」。大阪市内に住む40歳代の女性はこう話す。
また、6月に兵庫県・神鍋高原で韓国人歌手によるコンサートを企画した大阪のイベント会社が突然、倒産した。
2日間でチケット約2万枚の販売を見込んでいたが、売れたのはわずか1400枚。しかも、チケットの全売上高を
歌手への出演料に回したため、払い戻しに応じられない事態となり、チケット購入者からは「詐欺だ」との声が上がった。
「必要以上に持ち上げられた韓流ブームが薄らぐ一方、嫌韓ムードは日増しに高まっている。韓国への旅行の
落ち込みも長期化するのでは」と旅行業界の関係者は先行きを警戒する。
実際、韓国に旅行した東京都在住の40歳代女性はこう話す。
「日本人とわかれば、屋台やタクシーなどは平気で価格をつり上げる。罵声を浴びせる人もいる。竹島問題もあり、
今は行きたくないですね」
http://www.sankeibiz.jp/econome/news/120918/ecc1209180800000-n3.htm
0249デフォルトの名無しさん
2012/09/23(日) 16:11:57.97先頭4bit : 項目A
次の12bit : 項目B
次の20bit : 項目C
次の4bit : 項目D
の数値データ(big endian)が格納されているとします。
項目A〜Dの値をスマートに取り出すにはどうすればいいですか?
0250デフォルトの名無しさん
2012/09/23(日) 17:32:19.11以下スマートとはほど遠いコード
buf.unpack("B*")[0].scan(/(.{4})(.{12})(.{20})(.{4})/)[0].map{|e| e.to_i(2) }
0251デフォルトの名無しさん
2012/09/23(日) 21:31:34.85たとえば、
http://doc.ruby-lang.org/ja/1.9.3/library/index.html
を見るとGDBMなんかも入っているけど、実際にはLinuxでもWindowsでも標準で入ってないんだが
0252デフォルトの名無しさん
2012/09/23(日) 21:37:00.130253デフォルトの名無しさん
2012/09/24(月) 06:33:18.09ソースレベルで入っているだけで一般的に配布されているバイナリでは入っている保障はないってこと?
Unbuntuならapt-getとかFreeBSDならpkg_addとかでruby入れても入っていないのだが
それって標準の意味あるのか
0254デフォルトの名無しさん
2012/09/24(月) 08:02:15.01つまりそれはgdbm-devかgdbmのソースがシステムに入っていない場合はmakeを中止させるか、
あるいはrubyと一緒にgdbmソースコード一式(またはバイナリ)を配布しろということ?
人はそれを傲慢と呼ぶ
システムにヘッダファイルが存在しない場合は。./configureがNOを返し、その部分だけコンパイルが飛ばされるという動作は極めて妥当
使いたいextのヘッダファイルを事前にインストール(して./configureで指定)するのが一般的
というか、パッケージシステムならlibgdbm-rubyとかruby-gdmとかいうパッケージがあるだろ
rvmやrbenvなんかの自前コンパイル補助するやつならコンパイル前にgdbm-dev(el)パッケージをインストールしとけ
Windowsで配布者がdllごと入れてない場合はgdbm.dllをどっか安心なとこから拾ってきてbin/に入れとけばたぶん動く
0255デフォルトの名無しさん
2012/09/24(月) 09:11:03.74つまりRubyの標準添付ライブラリというのは環境によって
入っているか入っていないか分からないってことでしょ
別に入れろ言っているわけではないよ
それって"標準"にした意味あるのかなと思っただけ
たとえば"標準でインストール"されているなら依存関係を気にしなくてもいいけど
コンパイル時のオプションで変わるなら入っていない場合のことを考慮しないといけないわけでしょ
あとRubyがバイナリが入っている場合は、gemで入れることになると思うけど
gem gdbmはext/gdbmと同じだとかそういった保障はあるの?
libgdbm-devは仕方がないにしろ、rubyのライブラリはbundlerから入れたい
0256デフォルトの名無しさん
2012/09/24(月) 09:19:05.96自分の環境でだけ動けば良いや的発想で作られてる
0257デフォルトの名無しさん
2012/09/24(月) 09:32:39.30ソースは環境によらずtarballに必ず入っている(これを標準添付と呼ぶ)
この手のものを、インストールする人にコンパイルさせることを強制はできない
使わない人だけコンパイルオプションで外すようにしてもいいけど、たかがgdbmをそんな扱いにするとそっちのほうがめんどくさいよたぶん
使う予定がないのにtkが丸ごと入ったらキレるだろ
0258デフォルトの名無しさん
2012/09/24(月) 09:39:11.50標準にすることで他のライブラリと名前空間がぶつかることを回避できてるんじゃないの?
rubyの標準添付ライブラリが依存しているものを、
rubyのインストールですべて芋づる式でインストールされたらえらく迷惑だわ
スクリプトで標準添付ライブラリがつかえるかどうかは、必要ならチェックする必要があるだろうな
まあ大抵はスクリプトが例外出すままでOKだと思うけど
あと、たとえばgdbmへアクセスするI/Fを標準添付ライブラリとして用意してるけど、
細かい挙動はOSにインストールされてるGDBMに影響をうけると思う
0259デフォルトの名無しさん
2012/09/24(月) 11:05:11.33Python には入ってるけど誰もキレてないです
0260デフォルトの名無しさん
2012/09/24(月) 11:16:29.880261デフォルトの名無しさん
2012/09/24(月) 11:26:02.17Tkそのものは標準添付されてないと思うよ
Windowsのバイナリ(のインストーラ)には入ってるってだけで
0262デフォルトの名無しさん
2012/09/24(月) 18:05:59.17OSSって結局そんな感じやん
0263デフォルトの名無しさん
2012/09/24(月) 18:12:10.110264デフォルトの名無しさん
2012/09/24(月) 19:48:55.22Ruby開発側と配布されるソースについての標準で
プログラマにとって存在するライブラリが標準化されているわけではないってことね
それが聞きたかっただけです
GDBMは例に出しただけで得に深い意味はないです
0265デフォルトの名無しさん
2012/09/25(火) 00:23:20.41プログラマにとっても標準だろ
少なくとも標準ライブラリに用意されてるものはそれをつかうべきだし、
別のものを作るなら名前がかぶらないようにするべき
作られたプログラムを使うやつが、必要な環境を整えなければいけないってだけだ
0266デフォルトの名無しさん
2012/09/25(火) 00:45:16.50そんなにRuby独自の表現が入ってるわけでもないと思うんだが
0267デフォルトの名無しさん
2012/09/25(火) 02:44:32.000268デフォルトの名無しさん
2012/09/25(火) 07:55:09.980269デフォルトの名無しさん
2012/09/25(火) 09:57:27.490270デフォルトの名無しさん
2012/09/25(火) 21:51:17.51requireすれば使えるよってだけの話だろ
どんな機能があるのかはそれこそライブラリ次第で
gdbmだったら説明にあるとおり外部にあるGDBMを扱うインターフェースを
Rubyに提供するだけ
0271デフォルトの名無しさん
2012/09/25(火) 22:00:23.260272デフォルトの名無しさん
2012/09/25(火) 22:37:49.06しかもコンパイルや実行の際にシステムまたは第三者のヘッダファイルやAPIを読む必要がある
というパターンはけっこうせつめいめんどくさい
0273デフォルトの名無しさん
2012/09/26(水) 01:57:11.55いや別途インストールが必要だからrequireしても使えないって話だろ
0274デフォルトの名無しさん
2012/09/26(水) 02:16:30.14同じプログラムをどこでも動かせるってことにあると思うのだが
Rubyの場合は、標準添付ライブラリだけ使うプログラムを書いても
環境によってはインストールされていないので動かない
しかも標準ライブラリの動作が環境依存らしい
0275uy
2012/09/26(水) 04:22:42.11標準B
標準C
0276デフォルトの名無しさん
2012/09/26(水) 19:18:14.89別途インストール不要ってのはRubyのライブラリのことだぞ
Rubyのライブラリが呼び出すGDBMとかのシステムのライブラリは当然別途インストールが必要なのは言うまでも無い
0277デフォルトの名無しさん
2012/09/27(木) 09:26:22.91どなたか編集して直していただけませんか?勘違いならすみません
http://yugui.jp/wiki/hiki.cgi
0278デフォルトの名無しさん
2012/09/27(木) 10:29:07.780279デフォルトの名無しさん
2012/09/27(木) 12:35:35.680280デフォルトの名無しさん
2012/09/28(金) 00:24:30.56Hash.new{ |hash, key| hash[key] = [] }
↑みたいな感じでいい?
0281デフォルトの名無しさん
2012/09/28(金) 01:06:24.470282デフォルトの名無しさん
2012/09/28(金) 01:31:14.51機能的には問題ないと思ってるんだけど。問題点があれば教えてほしい。
(煽りじゃなくて、純粋に質問。単にもっと効率の良い定石があるなら知りたいだけだよ。)
0283デフォルトの名無しさん
2012/09/28(金) 03:32:46.67[13:16]小さい者にも、大きい者にも、富んでいる者にも、貧しい者にも、自由人にも、奴隷にも、
すべての人々にビックデータとスマートフォン、スマートユビキタス監視社会、経済システムの
UIDコードを付けさせた。
また、そのコードすなわち、一定のUID符号化数字を持っている者以外は、経済活動に関われ
ないように、だれも、買うことも、売ることもできないようにした。
[13:17]そのUIDコード数列の一部はシステムの名前そのものからとられている。
[13:18]ここに重要な意味がある。
思慮ある者はそのUIDコードを分析しなさい。そのUIDコードは人間個人を表現している
UniqueIDだからである。
そのUIDコードのエイリアスは666である。
0284デフォルトの名無しさん
2012/09/28(金) 03:37:21.74[14:01]見よ、人がXeonサーバ群の上にいる。14万人がデータセンタで働いており彼らはIDが与えられていた。
[14:03]彼らは新しいスクリプトを書いた。この言語は14万人のほかは誰も理解できなかった。
[14:07]基本に立ち返れ、裁きの時が来たからである。自然の行いを侮る事なかれ。
[14:08]巨大なバブルは崩壊した。不良金融債権をあらゆる国民に買わせた者は倒れた。
[14:09]もし、だれでも、このシステムを作り賛美し、UIDを受けるなら、そのような者は、
[14:10]従来の人間社会から逸脱しダイレクトに毒物を飲むようになる。
[14:11]また、自然界と群集の前で、目に見えない火(放射能)と毒物で苦しめられる。そして、彼らの苦しみは、永遠に続く。
システムを賛美し取り入れるもの、システムを作る者、まただれでもUIDを受け参加する者は、
昼も夜もまったく休むことはできない。
0285デフォルトの名無しさん
2012/09/28(金) 09:17:33.70特集:哀れな国、韓国!
http://web-wac.co.jp/magazine/will/201211_w
http://web-wac.co.jp/magazine/wp-content/uploads/4910183971126-190x278.jpg
世界中で嫌われる韓国人とシナ人
韓国人はなぜ日本人を憎むのか
韓国こそ世界一の売春輸出大国だ
輸入韓国魚介類は糞尿まみれ
「パクリ無罪」の韓国
ヤミ金で成立する韓国経済
中国でもめちゃくちゃ不人気な韓流ドラマ
韓国大統領に群がるアリとハエ
韓国経済を支えているのは日本
在日韓国文化人の「妄言」を嗤う
朝日新聞・植村隆記者への公開質問状
「竹島をあげる」小沢一郎発言の真偽
韓国人は自分の家に放火する
0286デフォルトの名無しさん
2012/09/29(土) 18:48:52.17nokogiri 1.5.5
nokogiriでスクレイピングした結果とブラウザのソースとでは異なる内容を表示しています。
たとえば、
2chのスレ一覧を取りに行くと全部取得できません。
ブラウザでは500スレほどあるのですが、nokogiriでは180スレほどしか取得できていません。
</body>直前が明らかに違っています。
内容が常に変わらないとこを見るとキャッシュを表示しているような気がするのですが・・・・
詳しい方、解決方法を教えていただけないでしょうか?
0287デフォルトの名無しさん
2012/09/29(土) 19:00:23.000288デフォルトの名無しさん
2012/09/29(土) 19:34:18.210289デフォルトの名無しさん
2012/09/29(土) 21:47:26.67…いやまあ、nokogiriコマンドもあるんで、やれないわけじゃないんだけど、たぶん思ってるのとは違う
$ nokogiri http://www.ruby-lang.org/ja/
Your document is stored in @doc...
irb> p @doc.at('title').text
"オブジェクト指向スクリプト言語 Ruby"
ちなみに内容はopen(uri).read
>>286
スクリプトで取得したファイルが「完全」であるかをまず確かめてください
…これが完全に取得されていない場合、まあ、なんかどっか悪いんだとは思うんだけど、2chではなんだろう
次に、そのファイルをNokogiri::HTML.parseして、すべて正しくパースされるかを確かめます
すべて正しくパースされていない場合、配列 Nokogiri::HTML.parse(html).errors にエラーが入っていることがあるので確認します
libxml2やlibxsltがやたら古い場合や適切な文字エンコーディングが推測または指定されていない場合、パースに失敗します
parseメソッドの第三引数に、なんかてきとーなエンコーディング名文字列を指定してください
0290デフォルトの名無しさん
2012/09/29(土) 23:19:14.24make覚えなくてもrakeで代われるなら、rubyの勉強して
なんだか一石二鳥だなあとか思ったんですが
0291デフォルトの名無しさん
2012/09/29(土) 23:45:07.19あまり一石二鳥な感覚ではなかったなあ
0292デフォルトの名無しさん
2012/09/30(日) 00:02:43.02基本的にmakeでできることは、ほぼ全てrakeでできるはずなので
完全な上位互換(rakeがあればmakeは必要ない)と考えて良いと思う
ただしもちろん、ほかの人の書いたソフトウェアをコンパイルしたりするなら
そこではmakeが必要になるので、そこは諦めてください
0293デフォルトの名無しさん
2012/09/30(日) 00:29:41.050294デフォルトの名無しさん
2012/09/30(日) 00:38:43.480295デフォルトの名無しさん
2012/09/30(日) 00:43:57.55自分で書く分には何でもできるが、人に書かせることはできないってだけだろ。
awk2perlみたいな変換書けば、そうでもないか。
0296デフォルトの名無しさん
2012/09/30(日) 00:51:19.580297デフォルトの名無しさん
2012/09/30(日) 01:19:37.99まあ、求めていないとも書いてないから分からんか
0298デフォルトの名無しさん
2012/09/30(日) 01:22:33.370299uy
2012/09/30(日) 08:35:07.43と同じ程度の意味だろこのアスペ共が
0300デフォルトの名無しさん
2012/09/30(日) 09:06:01.43>>290には
「makeと同レベルの自動作業を記述することはできるが、Makefileとの互換性はないので、あくまで自分で書いて自分で実行させるだけの用途にしか使えない」
「実行にはruby実行環境とgemライブラリとrakeライブラリの別途インストールが必要なので、たとえRakefileを配布しても一般的な可搬性は低い(Rubyライブラリ中では高いが)」
>>292には
「そういう用途的なカバーのことはふつうは上位互換とは言わない」
と言うのが妥当
0301デフォルトの名無しさん
2012/09/30(日) 23:06:23.93お返事いただいた方、ありがとうございました。
encodingを指定してもだめでした。
errorsの中身はSyntax Errorと出ていました。
net/httpでコンテンツを取得し、正規表現で対応しました。
0302デフォルトの名無しさん
2012/10/01(月) 09:31:27.390303デフォルトの名無しさん
2012/10/01(月) 12:28:15.94ここで答えちゃうけど、要するに捕捉する記述をしていない例外が発生した場合でも
自動的にログだけ取ってプログラムを動かし続けたいって事だろう?
無理じゃね
0304デフォルトの名無しさん
2012/10/02(火) 00:13:33.81def step
puts "A"
end
end
class B < A
def step
super()
puts "B"
end
end
class C < B
def step
# ここでA#stepを呼びたい
puts "C"
end
end
できますか?
0305デフォルトの名無しさん
2012/10/02(火) 00:24:36.92クラスCを作るファイルでクラスAの定義を再オープンしてA#orig_stepとかに退避しておくとかどうだろう
0306デフォルトの名無しさん
2012/10/02(火) 00:31:15.69もしくはそもそもC<B<Aの継承関係がやりたいことに合っていないのかも
0307デフォルトの名無しさん
2012/10/02(火) 10:32:00.29継承とか関係なしに呼ぶこと自体はできる
A.instance_method(:step).bind(self).call
0308デフォルトの名無しさん
2012/10/02(火) 18:54:31.73やはり設計を変えようと思います
>>307
bindとかあるのか
0309デフォルトの名無しさん
2012/10/05(金) 10:51:54.24ハッシュ式について分からないことがあるため質問させてください
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fliteral.html#hashを見て
キーがシンボルの場合のハッシュを書きたいんで
以下のコードを実行してもnilが表示されます
h = {a:"A", b:"B", c:"C" }
p h["a"] # nil
マニュアルからハッシュ部分をコピーしただけなんですが、どうしたらAと表示されますか?
0310デフォルトの名無しさん
2012/10/05(金) 11:23:19.670311デフォルトの名無しさん
2012/10/06(土) 13:47:08.501.8.7-p370がインストールされた。
head(最新)って1.9.3系列だと思っていたから、驚いた。
すんません。独り言です。
0312デフォルトの名無しさん
2012/10/06(土) 19:52:32.32310のとおりで
> h = {a:"A", b:"B", c:"C" }
これは、
h = {:a => "A", :b => "B" , :c => "C"}
これと同じ意味で書き方が若干違うだけで
:aはシンボル変数。
309の書き方だと、
h = {"a" => "A", "b" => "B" , "c" => "C"}
という書き方をしたハッシュなら通じる。
キーの名前自体を使って条件分けなどごにょごにょ
やらないのであれば、シンボル変数が軽いけど、
クラス継承やモジュールをガシガシ書かない間は
違いはさほどないからどっちでもいい。
0313デフォルトの名無しさん
2012/10/06(土) 20:08:44.07これはシンボルキーなHashを引数に取るメソッドの引数のときにのみ使う
0314デフォルトの名無しさん
2012/10/06(土) 20:09:58.69{ ho ge: "A" } も { "ho ge": "A" } もだめだよね
0315デフォルトの名無しさん
2012/10/06(土) 21:04:47.69そもそも「やっかいなシンボル」をキーワードに指定しなければならないことなどないはずだから
0316デフォルトの名無しさん
2012/10/07(日) 03:47:49.62c で char hoge[variable]; と書けないのと同じ
0317デフォルトの名無しさん
2012/10/07(日) 04:04:15.17…まあ、ほとんどのC環境が純CでなくC++になっちゃってるんだが
0318デフォルトの名無しさん
2012/10/07(日) 07:33:44.33rvmから以降するためrvm imploadしてから、ターミナルの起動時に
-bash: /etc/profile.d/sm.sh: No such file directory
-bash: /etc/profile.d/rvm.sh: No such file directory
と表示されます。
homeの.bashrcと.bash_profileに上の記述はなく、
どこにこの読み込みが書かれているんでしょうか?
0319デフォルトの名無しさん
2012/10/07(日) 09:47:01.140320318
2012/10/07(日) 11:41:29.54/etc/profileに記述が残ってました。
0321デフォルトの名無しさん
2012/10/07(日) 20:25:54.58べきじゃない、といよりも、
ライブラリやモジュールのコードを
観る段階になれば自然と身につくと思うんだけどなあ。
おいらはそうだった。
0322デフォルトの名無しさん
2012/10/07(日) 22:35:15.09require 'net/ssh'
Net:SSH.start('host','user') do |ssh|
ssh.exec!('cd dir1')
ssh.exec!('ruby sample.rb')
end
しかしcdコマンドの実行後、カレントディレクトリがdir1になっていないようなのです。
やりたいことは、sshでuser@hostにアクセスして、~/dir1/sample.rbを実行したいです。
ただし、ruby dir1/sample.rbと実行するのではなく、dir1に行ってから実行したいのです。
どのようにすればいいでしょうか。
0323デフォルトの名無しさん
2012/10/07(日) 23:02:57.92http://stackoverflow.com/questions/10606290/
0324デフォルトの名無しさん
2012/10/07(日) 23:47:06.50他人を自分と同一視するのは病気
0325デフォルトの名無しさん
2012/10/07(日) 23:51:25.090326デフォルトの名無しさん
2012/10/08(月) 00:43:00.82ssh.exec!('cd dir1; ruby sample.rb')とか出来たりしない?
0327322
2012/10/08(月) 00:50:22.65なるほど毎回違うシェルで実行するからカレントディレクトリが戻っちゃうんですね
>>326
これでできました!ありがとうございます
0328デフォルトの名無しさん
2012/10/08(月) 03:58:49.46日本と韓国の関係悪化を受けて、宮崎県立日南高は2年生27人が12月に予定していた韓国への
修学旅行を国内に変更した。
日南高によると、同校の修学旅行は韓国と国内の二つから選べることになっており、今年は2年生
170人のうち、143人が東京や群馬などの国内を選択。27人が同校の姉妹校・冠陽高があるソウル
などへの旅行を希望していた。
竹島問題などを巡って、日韓関係が悪化していることから、韓国への修学旅行について慎重に検討した
結果、「韓国の情勢が不透明で、生徒の安全などを考慮した」として、行き先を国内に一本化したという。
県内の別の高校も来年3月に計画している韓国への修学旅行について、変更を検討しているという。
http://www.yomiuri.co.jp/kyoiku/news/20121006-OYT8T00695.htm
0329デフォルトの名無しさん
2012/10/08(月) 08:27:30.160330デフォルトの名無しさん
2012/10/08(月) 10:58:32.970331デフォルトの名無しさん
2012/10/08(月) 11:30:39.420332デフォルトの名無しさん
2012/10/09(火) 00:31:18.860333デフォルトの名無しさん
2012/10/09(火) 04:12:48.13日本政府は、「東アジアの緊張が高まることに直結するものではない」と冷静に受け止めている。
防衛省幹部は7日、全域が韓国の弾道ミサイル射程内に収まることになる北朝鮮の強い反発が予想されることに関し、
「結果的に抑止効果が高まり、北朝鮮側は挑発行為を行いづらくなる」と語った。
日本にとっても、西日本地域が韓国の射程内に入ることになるが、自衛隊幹部は7日、「日本の安全保障にマイナスなら、
(射程緩和で合意した)米側が認めることはない。
日米韓の枠組みでの抑止力が高まれば、日本にとってもプラス面はある」と指摘した。
http://headlines.yahoo.co.jp/hl?a=20121008-00000564-yom-int
0334デフォルトの名無しさん
2012/10/09(火) 05:14:01.78これ全部コピペ爆撃なのにね
この板の政治国際ネタが自分に向けられた話題だと思ってる馬鹿は全員同罪
ttp://www.google.co.jp/search?num=50&hl=ja&q=%22%E6%97%A5%E5%8D%97%E9%AB%98%E3%81%AB%E3%82%88%E3%82%8B%E3%81%A8%22+site:2ch.net
0335デフォルトの名無しさん
2012/10/09(火) 05:37:31.37http://www.yomiuri.co.jp/national/news/20121008-OYT1T00646.htm
埼玉県警所沢署は8日、所沢市美原町、建築作業員衣斐昂(いびたかし)容疑者(23)を殺人未遂容疑で逮捕した。
発表では、7日午前1時40分頃、同市緑町の市道で乗用車を運転し、道路左端を歩いていた男性約10人のうち
3人(22〜23歳)を後ろからはね、殺害しようとした疑い。3人は頭などに軽傷。
衣斐容疑者は、男性たちの一部が車道にはみ出していたことに文句を言い、いったん通り過ぎた後、
Uターンして再び背後に回り、時速約50〜60キロで突っ込んだという。
車を約2キロ先の駐車場にとめて逃げたが、男性たちの中に顔見知りがおり、市内のホテルで見つかった。
調べに対し、衣斐容疑者は「広がって歩いているのに腹の虫が治まらなかった」と供述しているという。
(2012年10月8日22時11分 読売新聞)
0336デフォルトの名無しさん
2012/10/09(火) 05:40:00.96http://news.tv-asahi.co.jp/news/web/html/221008053.html
千葉県野田市で、所有する街頭宣伝車に不正に赤色灯を設置していることを隠して
車検証を交付させたとして、右翼団体代表の男を逮捕しました。
道路運送車両法違反の疑いで逮捕されたのは、右翼団体「関東一盟会」の代表・
程田一樹容疑者(40)です。警視庁によりますと、程田容疑者は、所有する街宣車の
屋根部分に緊急車両にのみ設置が認められている赤色灯を日常的に設置していたにもかかわらず、
6月の車検の際だけ外し、車検証を交付させた疑いが持たれています。取り調べに対し、
程田容疑者は「間違いありません」「格好つけるためにやった」などと供述し、
容疑を認めています。警視庁によりますと、都内で走行している右翼の街宣車は200台余りで、
そのうちの約2割には不正に赤色灯が設置されているということです。不正街宣車の摘発は、
関東では今回が初めてで、警視庁は今後、厳しく取り締まりを行うとしています。
0337デフォルトの名無しさん
2012/10/09(火) 12:21:35.05わかってて反応してんのにさらに反応すんなよ
検索まで貼っつけてさぁw
0338デフォルトの名無しさん
2012/10/09(火) 20:49:09.030339デフォルトの名無しさん
2012/10/09(火) 21:05:57.520340デフォルトの名無しさん
2012/10/10(水) 14:34:50.03exlap.rbのページを見たらExcelの基本的な操作は載っているのですが
もっと複雑なものでも同様に問題なく書けるのかを知りたいです
0341デフォルトの名無しさん
2012/10/10(水) 14:41:10.580342デフォルトの名無しさん
2012/10/10(水) 14:42:15.14だから普通は直接VBAで書く
VBAの知識がないとそもそもいっこも書けないし
0343340
2012/10/10(水) 14:51:27.38それをRubyで呼び出すという形にすればなんでも書けるということでしょうか?
ということは、VBAをRubyで書き直す必要はなくに、呼び出す方法だけ勉強すれば良いということ?
0344デフォルトの名無しさん
2012/10/10(水) 14:59:17.38きっとRubyのことだから超遅くなるだろう
0346デフォルトの名無しさん
2012/10/10(水) 15:05:49.46記述行為が可能であるかどうかで言えば可能
ただし、普通の感覚を持っているなら普通はやらない
複雑なVBAはVBAスクリプトとして書くのが妥当
Rubyから二重三重の手間とレイヤをかけて使ったりはしない
だから「RubyからExcelを操作」みたいなのは流行んないんだよ
RubyでVBAやるのはVBA自体を勉強するのよりも大変なんだもの
0347デフォルトの名無しさん
2012/10/10(水) 15:27:39.29自分にレスするとは自演ぽいな
0348デフォルトの名無しさん
2012/10/10(水) 15:31:42.98すでに書いてあるVBAスクリプトを新規Excelファイルに書き込む動作を
Rubyで動かすことは可能、ということですよね
>>347
名前欄もレス番も手で打ったらミスりました
0349デフォルトの名無しさん
2012/10/10(水) 15:38:13.540350デフォルトの名無しさん
2012/10/10(水) 15:48:37.74PerlからEXCEL-VBAのマクロを起動するには
http://chaichan.lolipop.jp/perlnote/perlnote2007-11-182.htm
0351デフォルトの名無しさん
2012/10/10(水) 17:01:44.49ありがとうございました
http://d.hatena.ne.jp/paz3/20090813/1250134172
0352デフォルトの名無しさん
2012/10/10(水) 20:17:42.48例えばf(a, 2)で[3,4,5]が返る というものです。
0353デフォルトの名無しさん
2012/10/10(水) 20:19:11.62[1,2,3,4,5].slice(2, 100)
0354デフォルトの名無しさん
2012/10/10(水) 20:24:07.610355デフォルトの名無しさん
2012/10/10(水) 21:53:56.09rec = lambda { |lst, acc|
rest = lst.slice(n,100)
(rest == nil)?
(lst + acc).reverse :
rec.call(rest, [lst.slice(0,n)] + acc) }
rec.call(lst, [])
end
a = []
200.times do |x|
a << x
end
group(a, 4)
グループ化する関数を作ったのですが以上を実行すると、
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23],
[24, 25, 26, 27], [28, 29, 30, 31], [32, 33, 34, 35], [36, 37, 38, 39], [40, 41, 42, 43],
[44, 45, 46, 47], [48, 49, 50, 51], [52, 53, 54, 55], [56, 57, 58, 59], [60, 61, 62, 63],
[64, 65, 66, 67], [68, 69, 70, 71], [72, 73, 74, 75], [76, 77, 78, 79], [80, 81, 82, 83],
[84, 85, 86, 87], [88, 89, 90, 91], [92, 93, 94, 95], [96, 97, 98, 99], [100, 101, 102, 103]]
ここで止まってしまいます。これは仕様でしょうか?
再帰の深さは30程度までなのですか。
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
0356デフォルトの名無しさん
2012/10/10(水) 22:01:17.18Array#sliceは「n要素目からx個取り出して配列として返す」だ
slice(2,100)は2要素目から100個取り出す
100個取り出すんだから100越えたら動かない
0357デフォルトの名無しさん
2012/10/10(水) 22:01:50.21もしRubyがスタック食いつぶせば例外が投げられて表示されるよ
0358デフォルトの名無しさん
2012/10/10(水) 22:04:07.010359デフォルトの名無しさん
2012/10/10(水) 22:10:05.18あー!なるほど
ありがとうございます!
0360デフォルトの名無しさん
2012/10/10(水) 22:13:21.48irb(main):242:0> [1,2,3].slice(2,-1)
[1,2,3].slice(2,-1)
nil
0361デフォルトの名無しさん
2012/10/10(水) 22:54:34.32あああ、ごめんなさい。[1,2,3].slice(1..-1)か
0362デフォルトの名無しさん
2012/10/11(木) 10:16:41.75最もつらい記憶は1997年アジア通貨危機当時。外貨準備が底を突き、デフォルトの危機に
追い込まれた韓国には、日本から借り入れた短期債務220億ドルがあった。しかし、日本はうち130億ドルを
その年に回収し、韓国がIMFに支援を要請する決定的な要因になったとされる。日本は97年12月だけで
70億ドルを回収した。当時の姜万洙財政経済院次官(現産銀金融持株会長)が「必要なときに助けるのが
真の友人」だと訴えたが、日本は「日本の銀行も自己資本比率8%という規制を満たすために困難な
状況だ」として、韓国側の求めを断った。
2008年の世界的金融危機の際にも日本は冷たかった。危機の影響でドル調達が困難になり、韓国政府は
同年10月に300億ドル規模の韓米通貨スワップで切り抜けたのに続き、日本にも既存の通貨スワップの拡大を
求めた。しかし、日本は「大規模な通貨スワップ拡大は困る」と慎重姿勢を崩さなかった。結局、韓国政府は
中国と300億ドルの通貨スワップで合意し、それに基づき日本に圧力をかけて初めて、韓日通貨スワップの規模を
300億ドルに増額することができた。韓国政府の元幹部は「普段は協議がうまくいっていたのに、困った時期には
異なることを言い出し、憤らずにはいられなかった」と振り返った。
日本は昨年の韓日首脳会談で韓国の通貨スワップ拡大要求を喜んで受け入れた。それまでの悪縁は
解消されたように見えた。当時の日本には円高を緩和する効果もあるため、日本が実利を狙ったという分析も
あったが、欧州財政危機で動揺する為替相場の安定にも役立ったことは明らかな事実だ。
しかし、今年8月に独島(日本名・竹島)問題が浮上後、日本の政界が韓日通貨スワップの延長に難色を示し
結局増額部分の延長はできなくなり、韓国と日本の悪縁は繰り返されることになった。(抜粋)
http://www.chosunonline.com/site/data/html_dir/2012/10/10/2012101000537.html
★日韓通貨スワップ縮小「日本は経済大国にあるまじき態度」=韓国
http://news.searchina.ne.jp/disp.cgi?y=2012&d=1010&f=national_1010_012.shtml
※前:http://uni.2ch.net/test/read.cgi/newsplus/1349879756/
0363デフォルトの名無しさん
2012/10/11(木) 22:40:48.34たとえば
a**k(k=0,1,2)
の関数ってどういうスクリプト打てばいいの?
aを代入しただけでk=0,1,2全ての答えをreplyしてもらえるようにしたい
0364デフォルトの名無しさん
2012/10/11(木) 22:59:57.23irb(main):001:0> def f(a); [0, 1, 2].map{|e| e ** a }; end
=> nil
irb(main):002:0> f 3
=> [0, 1, 8]
0365デフォルトの名無しさん
2012/10/11(木) 23:05:25.31オギャアアアアア(^q^)
関数か・・・
ありがとうれす(^q^)
0366デフォルトの名無しさん
2012/10/12(金) 02:36:53.030367デフォルトの名無しさん
2012/10/12(金) 21:38:58.68puts 'You?'re swell!'
ってYouの後「?」で合ってます?エラー出るんだけど。
バックスラッシュだと1行目と同じになっちゃうし何だろ
0368デフォルトの名無しさん
2012/10/12(金) 21:47:49.12放射線測定器の動作確認用に放射性物質「セシウム137」をインターネットで販売したとして、警視庁は12日、
放射線障害防止法違反(譲渡)容疑で、測定器販売会社「オアシストレード」(東京都荒川区)の韓国人従業員、
黄娟熙(27)と景善美(28)の2容疑者を逮捕したと発表した。東京電力福島第1原発事故以降、放射性物質の
譲渡を同法で摘発したのは全国初。
逮捕容疑は黄容疑者らは、11年10月?12年4月、同社のネットショップ「オアシス」で注文した男性17人
に対し、容器に入った「セシウム137」計18個(計約61万円相当)を販売したとしている。同社と違法性を
認識していた客5人も同法違反容疑で書類送検された。
同法では10キロベクレルを超えるセシウムを取り扱う場合は国への届け出が必要にもかかわらず、37キロベクレル
の商品を無届けで販売していた。生活環境課によると、逮捕された2人は容疑を認めている。容器の表面を測定すると
毎時10マイクロシーベルトとなり測定器が正常に作動するか確認できるという。
http://mainichi.jp/select/news/20121012k0000e040223000c.html
0369デフォルトの名無しさん
2012/10/12(金) 22:44:53.45バックスラッシュだろうね
0370デフォルトの名無しさん
2012/10/13(土) 08:57:24.49やばいことになった
どこがおかしいのかな
ちなみにOはωのことです
include(Math)
def cardano(a,b,c)
O**3=1
Of+O=-1
D=(-1)(4(-b**2/3*a**2+c/a)**3+27(2*b**3/27*a**3-b*c/(3*a**2)+d/a)**2)
[0,1,2].map{|k| -b/(3*a)+O**k(-b**3/(27*a**3)+(b*c)/6*a**2-d/2*a+(1/6)*sqrt(-D/3))**(1.0/3.0)+Of**k(-b**3/(27*a**3)+(b*c)/(6*a**2)-d/(2*a)-1/6*sqrt(-D/3))**(1.0/3.0)}
end
ちなみにエラーは
syntax error,unexpected'='
expecting KEND
dynamic constant assignment
unexpected'('
unexpected')'
といっぱい・・・
0371デフォルトの名無しさん
2012/10/13(土) 12:23:51.480372デフォルトの名無しさん
2012/10/13(土) 13:43:17.54このスレの住人って何かの罰ゲームで使ってるのかな
0373デフォルトの名無しさん
2012/10/13(土) 14:41:47.23もしかしてGUIとかに使おうとしてる?そうだとしたら確かに壁が多いが
・OOPのプロトタイピングに
・組み込みクラスを魔改造してDSLに
・テキスト処理やリスト処理に
・テストの補助に
・RoR
0374デフォルトの名無しさん
2012/10/13(土) 19:35:30.52あ、ωは定数だ_| ̄|○
0375デフォルトの名無しさん
2012/10/13(土) 19:45:52.42http://i.imgur.com/gwhpV.jpg
0376デフォルトの名無しさん
2012/10/13(土) 22:20:17.06(定数も書けるよ)
数学とは違って=は代入にしか使わないので、ωが満たす条件/関係
O**3=1
を書いたつもりでも、自動的に方程式を解いてくれるわけではない。
(三次方程式だから解いても3つ解があるし…)
自明な1以外は素直にO=Complex(-0.5, -Math.sqrt(3)/2) みたいに書くとか。
数式処理系とかmetafontみたいに方程式を解ける言語もあるけど。
0377363
2012/10/13(土) 23:25:36.37include(Math)
require'complex'
def cardano(a,b,c)
d=(-1)*(4*((-b**2)/(3*a**2)+c/a)**3+27*(2*b**3/(27*a**3)-b*c/(3*a**2)+d/a)**2)
[0,1,2].map{|k| (-b)/(3*a)+(((-1+sqrt(3).im)/2)**k)*(-b*9*3/(27*a**3)+(b*c)/(6*a**2)-d/(2*a)+(1/6)*sqrt(-d/3)**(1.0/3.0)+(((-1-sqrt(3).im)/2)**k)*(-b**3/(27*a**3)+(b*c)/(6*a**2)-d/(2*a)-(1/6)*sqrt(-d/3))**(1.0/3.0))}
end
だがinvalid charとかいうのがかえってきた(((^q^)))
もうおかしいものなんてないれしょ!
なんだこのそっけない返答は(^q^)
もうかれこれ六時間くらい消えたwww
0378デフォルトの名無しさん
2012/10/13(土) 23:44:37.28そのコードコピペして動かせば
> hoge.rb:1:invalid multibyte char (US-ASCII)
とか怒られるんだから不正なマルチバイト文字が一行目に入ってるってわかる
0379デフォルトの名無しさん
2012/10/14(日) 03:41:15.16まず1解だけの計算を目指した方がいいよ
あと、部分式は無理に展開せずに変数や関数を使うべき
require 'complex'
def cardano(a, b, c)
omega = (-1+Complex::I*Math.sqrt(3))/2
p = (3.0*b - a**2.0) / 9.0
q = (27.0*c + 2.0*a**3.0 - 9.0*a*b) / 54.0
t = Math.sqrt(q**2.0 + p**3.0)
puts "がんばれ"
end
puts cardano(ARGV[0].to_f, ARGV[1].to_f, ARGV[2].to_f)
0380デフォルトの名無しさん
2012/10/14(日) 07:15:21.450381デフォルトの名無しさん
2012/10/15(月) 02:05:05.84初心者ですが愚痴ですいません。
1.9+Sinatra+Slim+Redis(セッション管理)、Mongoidで
初めてのバックエンドのあるサイトつくってるのですが
Railsって便利なんですね。
入力バリデーションを自分で考えて実装してましたが、
できあがってRailsをみたら自分が
車輪の再発明状態なのがよくわかりました。
メアドの正規表現とかは自作してたらかなり勉強にはなりましたけど。。
みなさんはバックエンドのあるWebシステムつくるなら
Railsありきでしょうか。
0382デフォルトの名無しさん
2012/10/15(月) 03:21:03.340383363
2012/10/15(月) 22:47:56.09今、条件分岐をやっているところなのですがerrorが出るもののどこが間違ってるのか
わかりません
endがどうのと言ってくるのですが・・・
def solutions(a,b,c)
if a=0
1
else
if 0<b**2-4*a*c
2
else if b**2-4*a*c<0
0
else
1
end
end end
end
ifは三つ、def一つなので
それに対応してendの数も合計四つにすればいいはずですし全くわかりません
ちなみにこれは二次方程式の解の個数を求めさせる問題です
0384デフォルトの名無しさん
2012/10/15(月) 22:53:02.63回答と関係ないけど、最初の a=0 は a==0
で、2つの else if を elsif にする。endは2つだな。
0385363
2012/10/15(月) 23:01:02.94def det(a,b,c)
b**2-4*a*c
end
def solutions(a,b,c)
if a==0 || det(a,b,c)==0
1
else
if det(a,b,c)>0
2
else
0
end
end
end
でもエラー出るけど汗
0387デフォルトの名無しさん
2012/10/15(月) 23:47:06.76エラーメッセージは(少なくともRubyと標準ライブラリのエラーは)すべてを表す
0388デフォルトの名無しさん
2012/10/16(火) 19:57:45.40「K-POPや韓流ドラマは絶対視ない!」、「韓国は国ぐるみで間違った歴史を教えて、日本を悪者に仕立てている。
許せない!」、「尖閣諸島や竹島は絶対に日本のもの!」、「中韓とは断固国交断絶!」「広告代理店やマスコミが
朝鮮人と結託して、日本人に反日的な感情を植え付けようとしてる!」……などと語気が荒く語る女性が少なからず
存在するのだ。
しかも、彼女たちはいわゆる”普通の女子”。流行やブランド品を好む、 “スイーツ系女子”の相田多喜子さん
(仮名・33歳・会社員)はこう話す。
「韓国製のコスメや食品はもちろん、韓国と業務提携、協賛している日本企業の製品も購入しないようになった」
発端は知人に紹介された「2ちゃんねるまとめブログ」だという。
「それまで2ちゃんねるに関心がなかったのですが、中国や韓国の実態を伝える書き込みを初めて読んでショックを
受けました。韓流芸能人が韓国で日本を悪く言っていること、韓国の性犯罪率の高さ、商品にウジが混入すると
いった企業の衛生管理のずさんさなどを知り、さらにネットで勉強するように。日本のマスコミが偏った報道しか
しないことを知りました」
彼女たちの多くが、ネットを通して”真実”にたどり着き、日頃感じていた矛盾が解決したと語る。
それは、いわゆる「ネトウヨ」とは違うのか……?
「違います。私たちがしているのは日本人として当たり前のこと。許してはいけないことを許したくないだけ」(竹中さん)(抜粋)
http://nikkan-spa.jp/312054
0389デフォルトの名無しさん
2012/10/17(水) 22:01:18.00メリットの見えなくなった理由が「これって、全部jsでよくね?」なんだ
(デザパタならgithubでサンプルコードのレポジトリ見かけた)
文字コードとか、gem、railsで出来た既存資産でのアドバンテージ教えてくれ
0390デフォルトの名無しさん
2012/10/18(木) 18:35:52.550391デフォルトの名無しさん
2012/10/19(金) 01:35:21.93俺自身Railsとかはあんまり知らんのでそこは何とも言えんが
JSで継承関係が絡むクラスベースOOPはあまりやりたいと思わんなあ
0392デフォルトの名無しさん
2012/10/19(金) 13:13:18.72TypeScript
ですよ
0393デフォルトの名無しさん
2012/10/19(金) 21:48:47.03http://gigazine.net/news/20121019-bijo-linux/
先をこされたrubyの負け
美女rubyを作って世界に売り込め
0394デフォルトの名無しさん
2012/10/20(土) 08:14:20.370395デフォルトの名無しさん
2012/10/20(土) 18:22:06.35入力
puts texts
出力
{"text1"=>"あいうえお", "text2"=>"かきくけこ"}
この状態から以下のように実行結果が出せるようにするにはどうしたらよいのでしょうか
入力
puts text1
出力
あいうえお
オリジナルの出力はハッシュのキーと値だと思うのですが、
valuesというメソッドを使おうとしたのですが、定義されていないとエラーが出て使えませんでした。
0396デフォルトの名無しさん
2012/10/20(土) 18:25:58.61#=>あいうえお
ってこと?
0397デフォルトの名無しさん
2012/10/20(土) 18:39:09.97(ファイル名).rb:63:in `[]': can't convert String into Integer (TypeError)
後出しでもうしわけないですが、
もとのtextsが別の配列の中から抽出したものなのですが、そのあたりが原因なのでしょうか
このコマンド自体も大きなプログラムの中に私が追加しようとしているのです
0398デフォルトの名無しさん
2012/10/20(土) 21:02:48.370399デフォルトの名無しさん
2012/10/20(土) 21:15:47.25そのエラーが出るということは texts は Hash ではなく Array
0400デフォルトの名無しさん
2012/10/20(土) 23:51:47.60putsだと>>395ですが、p やprint を使うとなぜか角カッコが頭と尻についてしまいます
p texts
#=> [{"text1"=>"あいうえお", "text2"=>"かきくけこ"}]
print texts
#=> [{"text1"=>"あいうえお", "text2"=>"かきくけこ"}]
そこで、よくわからないままeachメソッドをつかってみるとなんとなく、もとめてる出力がでました
T1 = 0
T2 = 0
texts.each {|texts|
T1 = "#{texts['text1']}"
T2 = "#{texts['text2']}"
}
puts T1
#=> あいうえお
激しく無駄の多いような気がしますが・・・
0401デフォルトの名無しさん
2012/10/21(日) 00:19:41.40このサイトのプログラム(1.9.1用)を動かしたいと思っています
ttp://blog.fenrir-inc.com/jp/2011/10/ruby-mecab-japanese-keyword.html
require 'MeCab'がうまく行かなかったので
最初のrequire 'MeCab'を削除して代わりに
mecab = ""
text.each_line{|f|
IO.popen("mecab", "r+") {|pipe|
pipe.write(f)
pipe.close_write
mecab << pipe.read
}
}
puts mecab を書きました
このプログラムのmecab = MeCab::Tagger.newと書いた部分で
uninitialized constant MeCab (NameError)
というエラーが出るのですが「::Tagger」の意味が分からず困っています
どこを直せば動くのでしょうか
お願いします
0402デフォルトの名無しさん
2012/10/21(日) 01:49:48.42その texts は、「Hash1つを要素として持つArray」だ。
"あいうえお"に到達するにはArrayの0番の要素(Hash)のキー"text1"にアクセス。
texts[0]["text1"]
0403デフォルトの名無しさん
2012/10/21(日) 01:54:10.40MeCab::Tagger
require 'MeCab'が成功したら定義されていたはずの
モジュール(or クラス)MeCab の中に定義されている Tagger
ダミーでとりあえずそういう名前のが存在するようにすればそのエラーだけは
出なくなるだろうけど。
0404デフォルトの名無しさん
2012/10/21(日) 03:19:20.52全然わからないっす(´・ω・`)
これとか参考になりますか?
ttp://blog.mwsoft.jp/article/33047430.html
とにかく>>401のリンク先と同じ結果を得たいのですが…
0405デフォルトの名無しさん
2012/10/21(日) 04:15:34.08OS名+ruby+mecab とかでぐぐれば動かすまでの解説が何かしら出るだろうから、
この手順までは進めたけどこの手順が分かりません、とか、この手順でこのエラーが出ました、とか書きなよ
0406デフォルトの名無しさん
2012/10/21(日) 04:26:01.03そのためのmecab-rubyの配布が公式でなくなっていたので
IO.popenを使っていました
もっと調べてみます
0407デフォルトの名無しさん
2012/10/21(日) 04:33:49.02見つけたー!できるかもしれないです!頑張ります!
0408デフォルトの名無しさん
2012/10/21(日) 07:06:04.17韓国独自の文字であるハングルは民族的自慢のタネで、10月9日が「ハングルの日」として以前は祭日だった。
しかし祭日が多すぎると休日からははずされたため、復活を望む声が強い。
来年には復活の可能性があるとかで、カレンダー業者が気をもんでいる。
そのハングルをめぐってまずい話が起き問題になっている。
先年、インドネシアの小さな島の部族がハングルを自分たちの「公式文字」に採択したというニュースがあり
「ハングルの優秀性を世界に示した」として官民挙げて大喜びした。
教科書でも紹介されるまでになったのだが、最近、この話はマスコミが誇張したもので「公式文字採択」は虚報と分かった。
政府も教科書や各種展示を手直しすることになったという。
この少数部族というのはスラウェシ島に近いブトン島のチアチア族といい人口は6、7万人とか。
固有の部族語を話しているが、韓国の団体が援助を餌にその部族語の表記にハングルを使うことを勧めた。
その結果「公式文字に採択」となったというのだがインドネシアはローマ字が公用文字。地方の部族が別の文字を
公式文字に採択するのはありえない。
実際は単にハングルを学んでいるといった程度だったのだ。ハングル愛国主義の勇み足である。(黒田勝弘)
http://sankei.jp.msn.com/world/news/121020/kor12102003020000-n1.htm
0409デフォルトの名無しさん
2012/10/21(日) 07:21:20.14ぐぐったけどそのまま使えないってことしかわからん…orz
0410デフォルトの名無しさん
2012/10/21(日) 07:45:29.74○○というシステムの動作に関する知識
××言語の使用に関する知識
のふたつ
どちらが欠けても利用できない
「○○というシステムを××言語で使えるようにしたもの」は、○○と××のどちらの知識も必要とする
当たり前っちゃ当たり前
0411デフォルトの名無しさん
2012/10/21(日) 08:51:08.73名詞の数を数えたいだけなのに難しすぎてタヒにたい
0412デフォルトの名無しさん
2012/10/21(日) 13:49:02.60http://www.freia.jp/taka/blog/758/index.html
0413デフォルトの名無しさん
2012/10/22(月) 21:51:47.810414デフォルトの名無しさん
2012/10/23(火) 01:45:10.39テストのたびに毎回ログインさせるのはマズイと思うのですがどうしたら良いのでしょうか。
mockやstubとやらを使ってダミーのデータを返すようにするのが普通なんでしょうか。
0415デフォルトの名無しさん
2012/10/23(火) 04:53:26.17html = uri.read
のようなサーバアクセス部分を
# html = uri.read
html = File.read('200body.html')
のようにするようなイメージでOKです
実際はレスポンスヘッダとかも返さないといけないのでサーバアクセスメソッドごと切り替える形になるかと
いちいち手動でやるのめんどくへえ且つNet::HTTP利用ライブラリ経由で取得してる場合はWebMockなどが使えまする
0416デフォルトの名無しさん
2012/10/23(火) 19:04:49.54webmockを導入して勉強中です。
0417デフォルトの名無しさん
2012/10/24(水) 11:24:15.69が落ちてるっぽいんだけど、ミラーとか再配布してるとことか知ってる人いますか?
0418デフォルトの名無しさん
2012/10/24(水) 11:37:23.08sourceforgeにファイル自体はあるから、その理屈では仮にサイトが落ちてもなんとかなるんだけど…
0419デフォルトの名無しさん
2012/10/24(水) 12:27:49.860420デフォルトの名無しさん
2012/10/24(水) 15:47:47.17無事落とせました
0421デフォルトの名無しさん
2012/10/24(水) 18:09:23.910422デフォルトの名無しさん
2012/10/24(水) 21:45:12.11http://www.downforeveryoneorjustme.com
0423デフォルトの名無しさん
2012/10/25(木) 03:22:14.74def initialize(name); @name = name end
def child; Child.new end
class Child
def parent_name; "私の親は#{@name}です" end
end
end
Parent.new("マスオ").child.parent_name
Child.new(@name) というのは避けて
私の親はマスオですという結果を得たいのですが、
どうすればいいでしょうか?
0424デフォルトの名無しさん
2012/10/25(木) 04:58:55.34コンストラクタがダメなら多分アクセサメソッド使うのもダメなんでしょ?
Parent.new('ノリスケ').child.parent_name
Parent.new('ナミヘイ').child.parent_name
とか作った時どーすんの
ChildからParentに対する(またはその逆とかの)なんらかの参照が無ければ無理よ
0425デフォルトの名無しさん
2012/10/25(木) 07:48:11.720426デフォルトの名無しさん
2012/10/25(木) 09:43:34.26というか、>>423の構造はべつに「カッコ悪」くはない
それなりに素直でごく普通なので、堂々と使うといい
0427デフォルトの名無しさん
2012/10/25(木) 22:58:49.19ありがとうございます。
おとなしくChild.new(@name)と修正しようと思います。
0428デフォルトの名無しさん
2012/10/26(金) 04:55:55.79proc = flag ? &arr.each : &arr.revese_each; prco{|i| puts}
みたいな列挙の仕方を分岐するコードを
たまに書きたくなるんですけど、自然でうまいやり方ないですか。
0429デフォルトの名無しさん
2012/10/26(金) 05:40:20.45こうじゃなくって?なんか別の方法ってこと?
(flag ? arr : arr.reverse).each{|i| puts i }
0430デフォルトの名無しさん
2012/10/26(金) 10:32:09.680431デフォルトの名無しさん
2012/10/26(金) 21:53:03.46sendくらいしか思いつかんなー。
0432デフォルトの名無しさん
2012/10/27(土) 00:45:57.16文中にある固有名詞を全て先頭を大文字にしたいのですが、
str = 'This pen belongs to john smith.\nThat hat belongs to mary jane.\n'
@words_to_capitalize = ['john', 'smith', 'mary', 'jane', 'john rock']
capitalizeRegex = Regexp.union(@words_to_capitalize.collect{|e| /#{e}/i})
str.gsub!(/( |\.)(#{capitalizeRegex})( |\.)/io){
pre = $1; post = $3; mid = $2
pre + mid.gsub!(/(?:\b)(\w)/){$1.capitalize} + post
}
p str
これで、出力は
"This pen belongs to John smith.\\nThat hat belongs to Mary jane.\\n"
となるのですが、求めているのは
"This pen belongs to John Smith.\\nThat hat belongs to Mary Jane.\\n"
なのです。各行の最初にマッチしたものしか置換されません。
gsubを使って、マッチする場合はすべて置換するように書くことはできないでしょうか?
実際には、strが5000語くらいからなる長文で、大文字化する単語は4000語くらいあるので
正規表現の展開をあらかじめ行なっておかないと、単語ごとの処理では2億回も
ループを回す形になります。これだと分単位で時間がかかり、実用的でありません。
長くとも数秒単位で処理を終えたいのです。
たとえば、スペースなどの区切り文字で区切って、単語ごとに処理するという方法も考えられますが
そのやり方だと、'rock'だけでは大文字にしたくないが、'John Rock'とつながる場合は
どちらも大文字にしたいという要求に応えられません。
0433デフォルトの名無しさん
2012/10/27(土) 01:16:00.63>どちらも大文字にしたいという要求に応えられません。
前の語を参照するくらいできるでしょ
0434デフォルトの名無しさん
2012/10/27(土) 01:53:18.26word2cap = ['john rock', 'john', 'smith', 'mary', 'jane',]
re = Regexp.union(word2cap)
str.gsub!(/\b#{re}\b/){ $&.gsub!(/\b\w+/){$&.capitalize} }
Hash使うのとどっちが早いんだろな
0435デフォルトの名無しさん
2012/10/27(土) 20:05:16.150436デフォルトの名無しさん
2012/10/27(土) 21:37:27.54なんつーキモいコードだ…
0437432
2012/10/27(土) 21:52:35.50>>433
それが、1語遡るだけならそれでも多少のコストは構わないんですが
中には2語以上遡らないといけないレアケースもあるので、そういうレアケースのために負うコストを考えると
区切り記号で区切って1語ずつ処理という手法では難しいのかと思います。
>>434
432では細かく書いてないのですが、単語区切りは一概に \b では処理できないのです。
というのも、たとえば"I don't smoke."というスペルがある場合、単語境界を\bで処理すると、
固有名詞 "Don"に引っ張られて"I Don't smoke."となってしまいます。
なので、\bで一般化することはできず、432で書いた他にも( |,|^|"|'|\?|!|--+)みたいなことを
しないと漏れが生じてしまいます。
自然言語に対して一般化処理を行うのがかなり無理あるのは承知しているのですが
(たとえば、"bill"は固有名詞"Bill"かもしれないし、普通名詞"bill"かもしれないので
最終的な判断は人間が文脈で判断するしかない)、それでも機械的に処理できる範囲では
機械任せにしたいかなと。
0438デフォルトの名無しさん
2012/10/28(日) 01:07:44.52次の単語の前の空白を消費してるから
先読みが使えそうだけど他にもいろいろ条件がありそうだなあ
str.gsub!(/\b#{capitalizeRegex}(?=[\s\.\?!])/io){
英語の形態素解析ライブラリとか使ったらいいんでね?
0439デフォルトの名無しさん
2012/10/28(日) 01:31:21.07なるほど!そこでしたか!
ありがとうございます。ライブラリはこれから探してみます。
0440デフォルトの名無しさん
2012/10/28(日) 02:48:02.24このスレ民はそのダイエットできないな
0441デフォルトの名無しさん
2012/10/28(日) 11:23:19.22アレ?なんだろ?浮かばねえな…
0442デフォルトの名無しさん
2012/10/28(日) 12:33:44.460443デフォルトの名無しさん
2012/10/28(日) 12:51:52.750444デフォルトの名無しさん
2012/10/28(日) 14:26:18.480445デフォルトの名無しさん
2012/10/28(日) 14:29:05.280446デフォルトの名無しさん
2012/10/28(日) 14:35:01.090447デフォルトの名無しさん
2012/10/28(日) 17:10:55.01地元では大変なニュースになってたようです
0448デフォルトの名無しさん
2012/10/28(日) 19:19:40.56.rdoc形式のファイルってどうやって読むのですか?
テキストエディタでももちろん読めますけど、なんかタグもついてるし、
なにかビューワーがあるのですか?
ぐぐってもわからんかったです
0449デフォルトの名無しさん
2012/10/28(日) 19:35:23.020450デフォルトの名無しさん
2012/10/28(日) 19:54:03.23じぇんじぇんわからんちん
0451デフォルトの名無しさん
2012/10/28(日) 20:05:57.80そのまんま読めるというのがいちおう売りなので
0452デフォルトの名無しさん
2012/10/28(日) 20:11:55.82例えばrails new hugeとかやって
できるREADME.rdocみると
<tt>hogehoge</tt>みたいなタグがついてるけど
なんか対応したビューワーがあるんじゃないの?
0453デフォルトの名無しさん
2012/10/28(日) 21:04:30.390454デフォルトの名無しさん
2012/10/28(日) 21:05:41.83めんどくさいので、ファイルとして第三者に提供するのでなければ誰もいちいちやらない
そのまま読んだほうが早い
0455デフォルトの名無しさん
2012/10/28(日) 23:29:24.53そうなんですね、、、なんか不思議ですが了解です
0456デフォルトの名無しさん
2012/10/28(日) 23:40:43.120457デフォルトの名無しさん
2012/10/29(月) 03:18:39.170458デフォルトの名無しさん
2012/10/29(月) 03:19:38.550459デフォルトの名無しさん
2012/10/29(月) 03:38:22.72半透明ポリゴン使うからZ順には並べますがめり込んでる処理とかがですね・・
Rubyじゃかけませんよね
0460デフォルトの名無しさん
2012/10/29(月) 05:05:20.970461デフォルトの名無しさん
2012/10/29(月) 09:07:20.27してもいいししなくてもいい
個人的にはしない方が良いと思う
メリットほとんどないし
0462デフォルトの名無しさん
2012/10/30(火) 02:59:06.28htmlを書き換えるプロキシがことごとくできない…
サイトにあるサンプルすら動かないってどういうこと…
0463デフォルトの名無しさん
2012/10/30(火) 05:35:06.840464デフォルトの名無しさん
2012/10/30(火) 07:39:15.69ユーザーが自作のサーバ(しかもプロキシサーバ)を立ち上げることを前提としていないセキュリティソフトが多いので、
とりあえずはそのへんのパーソナルファイアウォールとかアンチウィルスソフトとかの設定を見直し
0465デフォルトの名無しさん
2012/10/30(火) 10:35:36.77そのサンプルと動作環境を特定してくれないとたいしたこと答えられないよ
0466デフォルトの名無しさん
2012/10/30(火) 10:56:55.250467462
2012/10/30(火) 11:28:28.05OS:windows7
Rubyのバージョン:ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32]
です。
動かそうとしているサンプルは
http://thinkit.co.jp/article/117/3/
にある、11731フォルダに入っているproxy2.rbやproxy3.rbです。
これらのプロキシを動作しながらページを見ることはできるのですが
書き換えだけができていない。という状態です。
また同じフォルダに入っているproxy4.rbはコンテンツフィルタとして問題なく動作しています。
>>464さんのアドバイスは実践しましたが特に変わりませんでした。
本当に初心者な相談で申し訳ないです…こういった書き方で大丈夫でしょうか
0468デフォルトの名無しさん
2012/10/30(火) 15:12:17.860469デフォルトの名無しさん
2012/10/30(火) 15:13:24.65結局、そのサイトのスクリプトを(全く修正せず)実行したが、
いくつかのスクリプトは記事のどおりに動いてないってことか?
proxy2.rbを見ると content-type が text/html でないと処理しないみたいだから
そうでないページでテストしたのでは?
0470462
2012/10/30(火) 15:33:23.62試行錯誤で色々試してみたのですが、あなたの言う通りです
content-typeがtext/htmlでないページでテストしていたようです…
次はこれをどのページでも対応できるように考えてみようと思います
0471デフォルトの名無しさん
2012/10/30(火) 16:59:13.930472デフォルトの名無しさん
2012/10/31(水) 00:03:05.49またどのように使い分けた方がいいか、指針はありますか。
0473デフォルトの名無しさん
2012/10/31(水) 13:58:13.18「たのしいruby」を片手に勉強してるのですが
def hello
print("hello,ruby.\n")
end
→helloで保存
require "hello"
hello()
→use_helloで保存
これでuse_helloを実行するとエラーが出ます どこがダメなのでしょうか
0474デフォルトの名無しさん
2012/10/31(水) 14:25:04.150475デフォルトの名無しさん
2012/10/31(水) 15:10:26.75ありがとうございます
さっそくググってきます
お手数かけました
0476デフォルトの名無しさん
2012/10/31(水) 18:47:06.950477デフォルトの名無しさん
2012/10/31(水) 18:54:43.200478デフォルトの名無しさん
2012/10/31(水) 21:15:58.28俺もそれやられたわ
Ruby1.9.2だっけからは$LOAD_PATHにカレントディレクトリが含まれてないからそれだと読み込めない
require './hello'またはrequire_relative 'hello'で解決
0479デフォルトの名無しさん
2012/10/31(水) 21:27:54.11まず2つに分けると
Proc.new と proc が同じ。
-> と lambda が同じ。
Procのインスタンスを返すという意味ではすべて Proc.new なわけだが、
上段の作り方だとProc#lambda? が false
下段の作り方をしたものは Proc#lambda? が true
になる。
-> は lambda のタイプ量を減らすために構文レベルに組み込んだもの。
(首を捻るとλに見えるはずとmatzは主張しているとかいないとか)
lambda? が true を返すProcは、
* 引数の扱いが厳しい(数が違えばエラー)
* Procのブロック内でreturn すると Proc から return する。
lambda? が false を返すProcは、
* 引数の扱いが緩い(多重代入と同等)
* Procのブロック内でreturnすると、Procを渡されたメソッドからreturnする。
おおまかな使い分けとしては、
(値を返す)無名関数的に使うときは lambda
メソッドにコード片を渡す時は proc
という感じ。
0480デフォルトの名無しさん
2012/10/31(水) 22:09:34.72lambdaって書いてあると、あとで代入してメソッドみたく使うのかなーと思う
Proc.newって書いてあると、原理主義者が出たぞー逃げろーと思う
->って書いてあると、->wwwwwwwwwwwwwwwwwwと思う
0481デフォルトの名無しさん
2012/11/01(木) 00:36:06.92eachとかのメソッドがどこのクラスに属しているかは
どうやって調べるんですか?
0482デフォルトの名無しさん
2012/11/01(木) 00:43:09.680483デフォルトの名無しさん
2012/11/01(木) 01:16:12.10という記述があった場合、
p hoge.class
hoge.each…
とかやって、hogeがなにクラスのオブジェクトかを調べて(またはスクリプトから推測して)、そのクラスのマニュアルなりソースなりを読む
p hoge.class
とやってArrayと表示されたらそのhogeはArrayクラスのオブジェクトだからArrayクラスのインスタンスメソッドArray#eachを調べる
もしArrayクラスがINHとかいうクラスを継承してて、Arrayクラスにeachというインスタンスメソッドが定義されてなかった場合はINH#eachも探す
もしArrayクラスがINCとかいうクラスをincludeしてて、Arrayクラスにeachというインスタンスメソッドが定義されてなかった場合はIINC.eachも探す
0484はちみつ餃子 ◆8X2XSCHEME
2012/11/01(木) 01:19:21.90アヒルのように鳴くものはアヒルであるし、 each メソッドがあるクラスはコレクションである。
0485デフォルトの名無しさん
2012/11/01(木) 01:57:44.23とかやると組み込みクラスじゃなければそれが定義されてるソースがわかる
組み込みクラスだとnilが返ってくるが、そんときはclassを調べて以下のリファレンスとかから探せばいい
http://doc.ruby-lang.org/ja/1.9.3/library/_builtin.html
0486デフォルトの名無しさん
2012/11/01(木) 02:23:36.29p hoge.class.ancestors
0487デフォルトの名無しさん
2012/11/01(木) 02:42:19.57最終行しか編集できないのは、どうにかならないものか。(Windows)
0488デフォルトの名無しさん
2012/11/02(金) 13:08:47.370489デフォルトの名無しさん
2012/11/02(金) 13:09:17.780490デフォルトの名無しさん
2012/11/05(月) 05:21:44.75しばらく放置していたのですがまた取り掛かります
https://friendpaste.com/425ROVMjubUeEqcJnzYUo8
文字化けしていますがこのプログラムの3行目は
NECESSARY = %w/名詞,サ変接続 名詞,一般 名詞,形容動詞語幹 名詞,固有名詞 名詞,接尾 名詞,副詞可能 接頭詞,名詞接続/
と書いてあります
これらの品詞が連続して出てきた時に一つの単語とみなして欲しいのですがどう付け加えれば良いでしょうか
ド変態でカウントして欲しいのにドと変態で別々でカウントしてしまうのです
47〜49行目は解析したいテキスト、51行目は名詞扱いされる記号を書いています
どなたかよろしくお願いいたします
0491デフォルトの名無しさん
2012/11/05(月) 16:37:08.00化け化けで見えないからどんな文章で引っかかってるのかわからん
つうか変なとこで苦労するより辞書作った方が早いんじゃね
0492デフォルトの名無しさん
2012/11/06(火) 01:39:48.62化けている部分は>>490に書いた通りです
47〜49行目に入るテキストは特に決まりがないので辞書作成は無理です
NECESSARYに書いた品詞が2つ以上続いた場合は一単語とみなしてカウントしたいです
例えばテキストに「ド変態と変態」と入れると「ド」は接頭詞,名詞接続で「変態」は名詞,一般なので
"ド"=>1 "変態"=>2 とアウトプットされますが欲しい結果は "ド変態"=>1 "変態"=>1 なんです
0493デフォルトの名無しさん
2012/11/06(火) 01:41:07.16あと51行目に関しては!や@などの記号が名詞扱いだったので除外するために入れました
それだけなので無視してください
0494デフォルトの名無しさん
2012/11/06(火) 03:06:31.84f([1, 2, 3, 0, 5, 5, 0, 2, 4, 6, 0]) => [6, 10, 12]
となるような関数fを作りなさい (10点)
0495デフォルトの名無しさん
2012/11/06(火) 11:55:31.09どっかの高校の試験問題?
0496デフォルトの名無しさん
2012/11/06(火) 12:17:08.95def f(suretu)
result = []
sum = 0
suretu.each do |x|
sum += x
if x == 0 then
result += [sum]
sum = 0
end
end
return result
end
p f([1,2,3,0,5,5,0,2,4,6,0])
[6, 10, 12]
0497デフォルトの名無しさん
2012/11/06(火) 12:58:48.42lst.chunk{|n|
n == 0 ? :_separator : :num
}.map{|_, seq|
seq.inject(0, &:+)
}
end
0498デフォルトの名無しさん
2012/11/06(火) 16:32:16.03:_separatorを活用してる人をものすごくひさしぶりに見た
0499デフォルトの名無しさん
2012/11/06(火) 20:58:56.250500デフォルトの名無しさん
2012/11/06(火) 20:59:27.220501デフォルトの名無しさん
2012/11/06(火) 21:16:49.26>>494て>>490への遠回しな答えでしょ
0502デフォルトの名無しさん
2012/11/07(水) 02:00:09.49require 'win32ole'
fso = WIN32OLE.new("Scripting.FileSystemObject")
filename = fso.GetAbsolutePathName("test.xls") #フルパス名で記録
xl = WIN32OLE.new("Excel.Application")
xl.Visible = true #Excelが動くのを見えるようにする
if test(?e, filename) #filenameが存在する場合
wb = xl.Workbooks.Open(filename)
else #filenameが存在しないので新規オープン
wb = xl.Workbooks.Add()
end
ss.Range("C2").Select #左2列と上1行を固定
xl.ActiveWindow.FreezePanes = true
だと動くのにexlap.rbを利用して
require 'exlap'
require 'win32ole'
xl = Exlap.new
filename = "test.xls"
wb = xl.book_open filename # ワークブックを開く
ss = wb.first_empty_sheet # 最初の空シートを選択
ss.Name = "論文の要約一欄" # ワークシート名を設定
ss.Range("C2").Select #左2列と上1行を固定
xl.ActiveWindow.FreezePanes = true
だと最後の行でエラーでるのはなぜですか?
0503デフォルトの名無しさん
2012/11/07(水) 07:52:29.75'<a href="http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html">foo2</a>' ←HTMLの一部
>'http://www.foo2.com/index.html'
'n1 n2 n3 n4 n5' ←文字列の一部
>'n5'
みたいな結果を得たいのですがどのように書けば出来ますか?
[/<a href=".(+?)">foo2<\/a>/,1]
>http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html
[/^.+\s(.+?)$/,1]
>n2 n3 n4 n5
となってしまいます
0504デフォルトの名無しさん
2012/11/07(水) 10:16:29.74exlapだから
0505デフォルトの名無しさん
2012/11/07(水) 13:09:14.63最後の行をどう書けば動きますか?
exlapではセルの固定はできないのでしょうか
0506デフォルトの名無しさん
2012/11/07(水) 13:13:10.38exlap 使う意味なくね?
0507デフォルトの名無しさん
2012/11/07(水) 15:04:26.67このあともexlapを使うのでwin32oleを組み合わせたいのですが
まずここのエラーの理由がわからないと他のエラーも直せないのです…
0508デフォルトの名無しさん
2012/11/07(水) 21:05:03.40.*のマッチする範囲が広すぎるので、制限してやるのがポイント
""の内部で"が出現することは無いだろうから [^"]+などとしてやる
htmlsrc = '<a href="http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html">foo2</a>'
p /<a\s+href="([^"]+)"\s*>\s*foo2\s*<\/a>/.match(htmlsrc)
=> #<MatchData "<a href=\"http://www.foo2.com/index.html\">foo2</a>" 1:"http://www.foo2.com/index.html">
なんでもかんでも正規表現でがんばっていた時期が私にもありました
0509デフォルトの名無しさん
2012/11/07(水) 23:08:58.75エラーメッセージもなしにエラーの理由なんて分かりません
excel持ってないからあてずっぽうだけど、
xl.objで生のExcel.Applicationオブジェクトに触れるっぽいから
exlapがラップしてないメソッド使う場合は
xl.obj.ActiveWindow.FreezePanes = true
みたいにするんじゃないか?
0510デフォルトの名無しさん
2012/11/08(木) 01:32:51.06うーん、質問の意味がわからない…
なんでいきなり
'n1 n2 n3 n4 n5' ←文字列の一部
が出てくるのか…
0511デフォルトの名無しさん
2012/11/10(土) 17:52:07.72この添字の部分はどういう意味ですか?
0512デフォルトの名無しさん
2012/11/10(土) 17:57:08.610513デフォルトの名無しさん
2012/11/10(土) 21:08:45.55具体的になイメージがわかない。
例をだして教えてください。
0514デフォルトの名無しさん
2012/11/10(土) 21:37:34.04おれは、通し番号をつくってる
たとえば、ファイルをひらいたりとじたりしてるとき、操作したファイルの通し番号
0515デフォルトの名無しさん
2012/11/10(土) 21:41:06.10必要ないものを作ったり使ったりしてはいけません
思いつかないのなら、使おうとしてはいけません
0516デフォルトの名無しさん
2012/11/10(土) 21:43:21.95Javaには、グローバル変数がない。シングルトンを利用する。
JavaのプログラムをRubyに翻訳するとき、Rubyでもシングルトンを利用できる。
グローバル変数でもできる
0517デフォルトの名無しさん
2012/11/10(土) 23:43:05.25The earthとか、ひとつしか存在しないものを定義するとき便利。そのシステム中に一定個しか出現しないものにもいい。
0518デフォルトの名無しさん
2012/11/10(土) 23:50:03.02本当に必要になったらわかるようになるから忘れろ、ってのもありだけどね
0519デフォルトの名無しさん
2012/11/11(日) 01:02:17.84素知らぬ顔をしてそのオブジェクトが帰ってくるのが、使い勝手が良い気がする。
複数の場所・タイミングで生成される可能性があるが、どこで作られたとしても、他の場所で使い回したい。みたいな。
生成がコピーによる生成を含めて、一カ所に閉じ込められるなら、要件としてシングルトンを満たしていても、採用する
必要は無いかなと思う。
0520デフォルトの名無しさん
2012/11/11(日) 01:16:34.15ファクトリの部分にキャッシュを入れて、
かつファクトリ自体が一つであることを保証しようとすると
勝手にそうなる
0521デフォルトの名無しさん
2012/11/11(日) 15:10:16.37ホイ
class Array
def arsplit(pattern)
# pattern = regexp, string or number
result = []
result << []
self.flatten.each do |elm|
if pattern === elm
result[-1] != []? result << [] : false
else
result[-1] << elm
end
end
result[-1] == []? result.pop : false
result
end
end
0522デフォルトの名無しさん
2012/11/11(日) 15:11:17.94[1,2,3,0,5,5,0,2,4,6,0].arsplit(0)
=> [[1,2,3],[5,5],[2,4,6]]
[1,2,3,0,5,5,0,2,4,6,0].arsplit(0).map{|ar| ar.inject(:+)}
=> [6,10,12]
" hoge hage hige ".split("")
=> [" ", " ", " ", "h", "o", "g", "e", " ", " ", "h", "a", "g", "e",
" ", " ", " ", " ", " ", " ", "h", "i", "g", "e", " ", " ", " "]
" hoge hage hige ".split("").arsplit(/¥s/)
=> [["h", "o", "g", "e"], ["h", "a", "g", "e"], ["h", "i", "g", "e"]]
0523デフォルトの名無しさん
2012/11/11(日) 20:17:57.170524デフォルトの名無しさん
2012/11/11(日) 21:36:16.49=> [:a, ;d, ;f]
という感じで複数の添字で引っこ抜くのできないの?
a = [:a,:b,:c,:d,:e,:f]
[a[0], a[3], a[5]]
でもいいけどマンドクセ
0525デフォルトの名無しさん
2012/11/11(日) 22:13:42.89Array#values_at
0526デフォルトの名無しさん
2012/11/11(日) 23:01:11.51values_at とか inject は知らなかった
使えそう
自分←不勉強
0527デフォルトの名無しさん
2012/11/13(火) 14:33:49.47どこかに注意点のまとめがあったはずなんだけど見つからない。
0528デフォルトの名無しさん
2012/11/13(火) 15:13:58.5810 things to be aware of in moving to Ruby 1.9
http://dablog.rubypal.com/2009/1/14/10-things-to-be-aware-of-in-moving-to-ruby-1-9
http://jp.rubyist.net/magazine/?0025-FirstStepRuby191
0529デフォルトの名無しさん
2012/11/13(火) 16:31:02.80>2行目に「# -*- coding: utf-8 -*-」(マジックコメント)を書きましょう。
1行目に
#coding: utf-8
とか書くのはダメ?
-*- は emacs 用とかじゃなくて
0530デフォルトの名無しさん
2012/11/13(火) 18:16:39.38おk
0531デフォルトの名無しさん
2012/11/13(火) 18:17:00.55すくなくともEmacsの簡便な動作には必要なものなので、それに相乗りして「なんか余計なの書いてあったから消した」を防ぐ効果が期待できる
Emacsを使ってるか、すくなくとも知っていればこの行を消すことはないはず
0532デフォルトの名無しさん
2012/11/13(火) 18:30:45.74どこで推奨されてましたっけ?
0533デフォルトの名無しさん
2012/11/13(火) 19:41:26.88これ、私も知りたい
0534デフォルトの名無しさん
2012/11/13(火) 19:46:28.22どのエンコードか指定するのはもちろん良いとして
書かなくても自動判別できるようにするべきだったのでは
0535デフォルトの名無しさん
2012/11/13(火) 19:49:48.310536デフォルトの名無しさん
2012/11/13(火) 20:35:57.671万行あるスクリプトファイルの、最後の行にだけぽつんと日本語が使われてる、とか、
EUCかシフトJISか判別不可能なオクテット列しか現れない、とか、
そういう嫌なケースがいくらも思いつく。
0537デフォルトの名無しさん
2012/11/13(火) 21:39:28.19Latinの中でどのLatinかを判別するのも出現頻度と辞書頼りで根本的に誤爆上等
文字エンコーディングは「最初にファイルを書いた人」が"絶対に知っている"はずなので、
わざわざ電気代と時間をかけて推測して当たりか外れかドキドキするよりもその人に確かな情報を教えてもらうのがコスト的にベスト
テキストファイルは本来、最低限、文字エンコーディング情報をファイル中またはファイル付随で持つべきだった
…そんな「エンコーディング形式」なんて概念が不要だった時代からの遺産だから仕方がないんだけど
0538529
2012/11/13(火) 21:40:50.28ありがと
いま自分のスクリプトをみたら
> #coding: Windows-31J
> $KCODE='s'
とか
> #coding: utf-8
> $KCODE='u'
> # あ utf8
って書いてあったんだけど、
これって移行期を考えて書いてあったのかな?
って他人に聞く話ではないなw
obj.method{ |arg| ... } の arg がブロックローカルに
なることにビビった。
とりあえず、each_with_index とか times あたりが怪しいので
全部調べた。やっぱりヤバイのあった。疲れた。_| ̄|○
0539デフォルトの名無しさん
2012/11/13(火) 22:29:56.10emacsなんていらんかったんや!
0540デフォルトの名無しさん
2012/11/13(火) 23:04:16.162.0はそれで決定なんですかね?
0541デフォルトの名無しさん
2012/11/13(火) 23:16:22.22やっぱりリテラルもあったほうがいいと思うんですけどね
%u() と %U() でUTF-8のリテラル
%b() と %B() でASCII-8BITのリテラル
みたいな
さらに贅沢を言えば、Windows用に\をエスケープしないリテラルが欲しいですな
"""ほげほげ\ほげほげ\ほげほげ\"""的なやつか、%記法で
0542デフォルトの名無しさん
2012/11/14(水) 01:28:05.21utf-8使ってる限りは変なコメント書かせずに良きに計らってくれよっていうね
0543デフォルトの名無しさん
2012/11/14(水) 12:01:20.43>…そんな「エンコーディング形式」なんて概念が不要だった時代からの遺産だから仕方がないんだけど
Appleはエロいよ
0544デフォルトの名無しさん
2012/11/14(水) 12:33:22.64if a then
p "true"
end
って書くと"true"って表示されますが
if a == true then
p "true"
end
って書くと表示されません
Rubyではifのfalseとnil以外は真になるのに撫ぜa==trueが偽になるのでしょうか?
あとifはthenを省略かけるのですが、業界的には省略するのとしないのどっちが当たり前でしょうか?
0545デフォルトの名無しさん
2012/11/14(水) 13:10:56.91要するにあんた Perl に毒され杉だよってこと
0546デフォルトの名無しさん
2012/11/14(水) 13:41:29.40あいまいな日本語はよくないぞ
0547デフォルトの名無しさん
2012/11/14(水) 13:52:04.10今は反省していない
0548デフォルトの名無しさん
2012/11/14(水) 14:06:28.19つまり、あなたはPerlの感覚にとらわれすぎているということです
0549デフォルトの名無しさん
2012/11/14(水) 14:35:35.530550デフォルトの名無しさん
2012/11/14(水) 14:50:36.890551デフォルトの名無しさん
2012/11/14(水) 16:34:00.50# coding: Windows-31J
$KCODE='s'
doc=<<'EOD'
こんにちは
世界
EOD
p doc
a.rb の出力 1.8 では
"こんにちは\n世界\n"
になっていたけど、1.9 では
"こんにちは\r\n世界\r\n"
になったりしますか?
# ブロックパラメーターの確認と修正オワタ 疲れた・・・
0552デフォルトの名無しさん
2012/11/14(水) 18:08:16.080553デフォルトの名無しさん
2012/11/14(水) 20:15:14.51それぞれの違いとかどんなものなのか知りたいのだけど資料もあまり多くはないな
0554デフォルトの名無しさん
2012/11/15(木) 08:51:04.6116進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /¥A¥d+¥z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"¥x30123456789" =~ /¥A¥d+¥z/u
=> 0
という風になります。
'¥x30123456789' =~ /¥A¥d+¥z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
¥x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0555デフォルトの名無しさん
2012/11/15(木) 08:53:12.8016進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /\A\d+\z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"\x30123456789" =~ /\A\d+\z/u
=> 0
という風になります。
'\x30123456789' =~ /\A\d+\z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
\x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0556デフォルトの名無しさん
2012/11/15(木) 08:56:09.86いいえ
>処理系や
いいえ
>ブラウザ依存
いいえ
0557デフォルトの名無しさん
2012/11/15(木) 08:56:33.08(マカーだ…)
(マカーが来たわ…)
0558デフォルトの名無しさん
2012/11/15(木) 11:32:51.710559デフォルトの名無しさん
2012/11/15(木) 12:33:39.08茨の道だからお薦めはしない
LLでやりたいってことなら
Pythonの方がWindowsと相性良い
0560デフォルトの名無しさん
2012/11/15(木) 13:10:18.990561デフォルトの名無しさん
2012/11/15(木) 16:25:01.43>日本語文字コードの変換
>【要点】
>Ruby バージョン 1.9 以降: String::encode を使う
>Ruby バージョン 1.8 以下: NKF を使う
1.9 でも、NKF を使っていてもいいんでしょ?
0562デフォルトの名無しさん
2012/11/15(木) 18:25:56.63はい
0563デフォルトの名無しさん
2012/11/15(木) 20:41:02.78サーバー chat.na1.lol.riotgames.com
ポート 5223
SSL使用
接続したあと pvp.netに認証↓
ドメイン pvp.net
ID tarou
PASS test
resource xiff
これをXMPPで送信したいんですけどRubyでやる方法教えてください
0564デフォルトの名無しさん
2012/11/15(木) 20:41:50.02これをRubyに書き直してください
じゃあ
0565デフォルトの名無しさん
2012/11/15(木) 20:49:25.270566デフォルトの名無しさん
2012/11/16(金) 08:52:30.95>>562
あざまっす処理系やブラウザには依存しない、
でOKのようですね。
>¥x30はrubyで処理するときにはもう既に展開されて0になっているのか
ここについてはご意見違うようですが。
httpの通信の部分ですよね。
0567デフォルトの名無しさん
2012/11/16(金) 09:15:29.92知ってるかもしれませんが、
ローカルでirbやったりすると
Windowsと比較にならないくらい
実行が早いっすよ。
MacBookAirはスタバでドヤ顔のためでもなく
デザイナーのためでもなく、
エンジニアのノマド開発用だとおもいます。
0568デフォルトの名無しさん
2012/11/16(金) 09:37:02.240569デフォルトの名無しさん
2012/11/16(金) 11:19:22.83Window8があまりにひどいので
次買い換えるときはMacにするかも知れない
楽しみに待っててね!
0570デフォルトの名無しさん
2012/11/16(金) 11:33:04.355年前くらいの頭で止まってるとそうなる
Windows7マシンにCUIなLinuxをVMで入れるのがコスパと使い勝手の総合で現状最強
※ コスパを入れ忘れないように願います
0571デフォルトの名無しさん
2012/11/16(金) 12:48:33.420572デフォルトの名無しさん
2012/11/16(金) 17:35:15.04hash.merge!(key: "change")
end
h = {key: "value"}
change(h)
h[:key] # => "change"
となるのに、rspecで
it do
h = {key: "value"}
change(h)
h[:key].should == "change"
end
とすると
expected: "change"
got: "value" (using ==) となってしまいます。
なにが間違っているんでしょうか。
0573デフォルトの名無しさん
2012/11/16(金) 23:00:19.56method(:change) を出力してみると分かるかもしれないけど、
RSpecが定義しているマッチャーメソッドに change がある。
expect { operation }.to change(:hoge).from(X).to(Y)
のように使う奴。
別の名前のメソッドにすれば期待通りに動く。
0574デフォルトの名無しさん
2012/11/17(土) 01:54:35.18無事動作しました!
0575デフォルトの名無しさん
2012/11/17(土) 06:10:57.410576デフォルトの名無しさん
2012/11/17(土) 18:28:26.52無料の中では、Linux良いよね。
0577デフォルトの名無しさん
2012/11/17(土) 18:37:11.81どれほど堅牢かは知らないけどRipper.sexpや
https://github.com/aarongough/treetop-sexp-parser
いっそのことLLスレにお題として持ち込んでみてほしい
0578デフォルトの名無しさん
2012/11/17(土) 18:51:06.190579デフォルトの名無しさん
2012/11/17(土) 20:56:36.01>>577は少し試してみたけど使えそう。
ってか、基本rubygemsしか探さないから気づかなかったわ。
ありが�d
0580デフォルトの名無しさん
2012/11/18(日) 04:57:48.10なんで名前空間分かれてないの?
0581デフォルトの名無しさん
2012/11/18(日) 05:02:48.19ユーザーはキーワードを事前にすべて把握「していなければならない」
これはDSL使用における不可避な義務
assertというメソッド作ったらぶっ壊れるのと同じ
0582デフォルトの名無しさん
2012/11/18(日) 19:38:46.37http://doc.ruby-lang.org/ja/1.9.3/class/Time.html
t = Time.now
p t
p t.succ
を実行するとwarning: Time#succ is obsolete; use time + 1って警告が出ます。
p t + 1と書けということなんでしょうが、succは1.9.3では非推奨なんですか?
将来のバージョンではsuccは消えるってことでしょうか?
0583デフォルトの名無しさん
2012/11/19(月) 10:20:22.30foo {|x| x == nil ? 1 : 0 }
みたいな関数呼び出しがあったとして、foo()が受け取ったブロックの中身を構文木として取り出してごにょごにょしたい。
0584デフォルトの名無しさん
2012/11/19(月) 10:56:29.330585デフォルトの名無しさん
2012/11/19(月) 14:11:23.12できないってことか。
0586デフォルトの名無しさん
2012/11/19(月) 14:15:17.750587デフォルトの名無しさん
2012/11/19(月) 19:15:08.83Rubyの標準機能ではできない。たしかRubiniusならできたような。
>>584
exerbはソースコードをパースしてるだけなんじゃないの?583がやろうとしているのはそうじゃないでしょ。
0588デフォルトの名無しさん
2012/11/20(火) 15:37:59.31$ rvm list
rvm rubies
=* ruby-1.9.3-p194 [ x86_64 ]
# => - current
# =* - current && default
# * - default
which rubyだと
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.2.0]
です。
0589デフォルトの名無しさん
2012/11/21(水) 20:49:38.11環境 ruby1.8 windows7
# 配列を作成
ary = [
[1, "aさん", "[email protected]"],
[2, "bさん", "[email protected]"],
[3, "cさん", "[email protected]"],
[4, "dさん", "[email protected]"]
]
require "CSV"
file = CSV.open("hoge.csv", "w", "\t", "\n")
ary.each { |row| file << row }
配列をタブ区切りCSV?に出力するコードに、
↓な感じでダブルクォーテーションをつけようとしたんだけどエラーが出るんです。
file = CSV.open("hoge.csv", "w", "\t", "\n", {:force_quotes=>true})
エラーメッセージ
C:/AptanaWorkspace/Hello2/array2.rb:13:in `open': wrong number of arguments (5 for 4) (ArgumentError)
from C:/AptanaWorkspace/Hello2/array2.rb:13
↓にするとダブルクォーテーションは付くんだけど、区切りの文字はないし改行もされないです
file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})
0590デフォルトの名無しさん
2012/11/21(水) 20:51:32.91file = CSV.open("hoge.csv", "w", "\t", {:force_quotes=>true})
エラーメッセージ
c:/ruby/lib/ruby/1.8/CSV.rb:492:in `index': type mismatch: Hash given (TypeError)
from c:/ruby/lib/ruby/1.8/CSV.rb:492:in `generate_body'
from c:/ruby/lib/ruby/1.8/CSV.rb:288:in `generate_row'
from c:/ruby/lib/ruby/1.8/CSV.rb:692:in `<<'
from C:/AptanaWorkspace/Hello2/array2.rb:16
from C:/AptanaWorkspace/Hello2/array2.rb:16:in `each'
from C:/AptanaWorkspace/Hello2/array2.rb:16
csv.rbを覗いてみると83行目が↓になっててパラメータを5つ渡せるように見えるのですが
最後の&blockはパラメータではないのでしょうか?
def CSV.open(path, mode, fs = nil, rs = nil, &block)
0591デフォルトの名無しさん
2012/11/21(水) 20:59:24.16&block はブロックなのでここの open の上の方のように書きます
ttp://doc.ruby-lang.org/ja/1.8.7/class/CSV.html
0592デフォルトの名無しさん
2012/11/21(水) 22:16:59.39どこを見ればいいのかわかりませんorz
{:force_quotes=>true}をどこらへんに書けばいいのでしょうか
0593デフォルトの名無しさん
2012/11/21(水) 22:49:44.821.8じゃそんなオプションないとかじゃないの?
適当にリファレンス見てみると
http://doc.ruby-lang.org/ja/1.8.7/class/CSV.html こっちはforce_quotesなんて見つからないけど
http://doc.ruby-lang.org/ja/1.9.2/class/CSV.html 1.9だと普通に書いてあるし
0594デフォルトの名無しさん
2012/11/21(水) 23:00:10.211.8にFasterCSV入れれば同じように使えるかと
0595デフォルトの名無しさん
2012/11/22(木) 00:12:46.16file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})
これだと一応ダブルクォーテーションは付いたので、対応してるのかなと思いましたが、
1.9からの機能かも知れないのですね
1.8にFasterCSV入れるか1.9でやってみます!
0596デフォルトの名無しさん
2012/11/22(木) 18:34:41.520597デフォルトの名無しさん
2012/11/22(木) 21:30:30.370598デフォルトの名無しさん
2012/11/23(金) 01:05:19.560599デフォルトの名無しさん
2012/11/23(金) 01:13:15.600600デフォルトの名無しさん
2012/11/23(金) 01:47:24.140601デフォルトの名無しさん
2012/11/23(金) 02:10:54.99あんたすげぇよ…
0602デフォルトの名無しさん
2012/11/24(土) 16:11:03.86str = result
require 'net/ftp'
ftp.open('server', 'user', 'pass')
この後、ftp.put()でstrをアップしたいのですが、ftp.put()はファイルのパスを引数に取るので、strを渡せません。
ファイルのパスを引数に取るメソッドはたくさんあるのでこのようなケースはよくありそうなのですが、一般的にはどのように処理すればいいのでしょうか。
0603デフォルトの名無しさん
2012/11/24(土) 16:14:43.240604デフォルトの名無しさん
2012/11/24(土) 16:22:39.91net/ftpはpurerubyだからソースを読んでみるといい
どうせ回答も似たようなのしか来ないだろう
0605デフォルトの名無しさん
2012/11/24(土) 18:36:13.15nfsとかで直接って書き込めばいいじゃん。
0606デフォルトの名無しさん
2012/11/24(土) 19:43:28.180607デフォルトの名無しさん
2012/11/24(土) 23:05:30.990608デフォルトの名無しさん
2012/11/25(日) 05:06:33.050609デフォルトの名無しさん
2012/11/25(日) 12:24:17.92http://doc.ruby-lang.org/ja/1.9.3/method/Net=3a=3aFTP/i/put.html
0610デフォルトの名無しさん
2012/11/25(日) 12:32:27.08Gmailの下書きにファイルを添付したメールを保存
ってできそうでしょうか?
watirで行けるかと思いきや、IE向けのSeleniumドライバ?を別途インストールする必要があるみたいでした
0611デフォルトの名無しさん
2012/11/25(日) 14:52:34.83gmailをimapでアクセス可に設定できるのなら簡単になりそうじゃない?
0612デフォルトの名無しさん
2012/11/25(日) 15:32:17.360613デフォルトの名無しさん
2012/11/25(日) 22:07:20.44できるだけWebアクセス(httpかhttps)だけで・・・と考えてましたが
こだわらないとしたら確かにimapでできそうですね
ありがとうございます考えてみます
0614デフォルトの名無しさん
2012/11/27(火) 21:27:27.98to_iやto_fをtoiやtofに変更したいのですがどうしたらいいでしょうか
0615デフォルトの名無しさん
2012/11/27(火) 21:35:33.63class String
alias toi to_i
end
あたりでいいんじゃないの?
# 尚、Rational, Float, Complexにも定義されている。
0616デフォルトの名無しさん
2012/11/27(火) 21:47:04.00ありがとうございます
単に自分の環境だと打ちにくいから変更したいというだけで
いわゆる動く擬似コードの視点から見ればto_iやto_fのが
良いと思ってます
0617デフォルトの名無しさん
2012/11/28(水) 14:09:32.060618デフォルトの名無しさん
2012/11/28(水) 14:15:43.00エディタ何使ってるかしらんけど、補完や短縮入力あればそれで
Vimなら、
iabbr toi toi
とか。スレ痴やな…
0619デフォルトの名無しさん
2012/12/01(土) 05:37:33.04Javaは付いてるのに…
0620デフォルトの名無しさん
2012/12/01(土) 06:34:39.05一般にgzipだからrubyにはzlibが用意されてる
Javaはjarファイルとの絡みでzipの読み書き欲しいだろうけど
0621デフォルトの名無しさん
2012/12/01(土) 11:14:56.990622デフォルトの名無しさん
2012/12/01(土) 11:19:23.60全OS制覇を目指すならそれくらい標準でできんとお話にならん
Rubyは「そういうのめんどくさいからやりたい人が誰かやって」で通してきたからなあ
0623デフォルトの名無しさん
2012/12/01(土) 12:01:20.250624デフォルトの名無しさん
2012/12/01(土) 15:39:28.62だがjavaのzipは日本語がうにこーどでウィンドウズのツールで開くとうにうに
0625デフォルトの名無しさん
2012/12/01(土) 15:44:33.78情弱乙
0626デフォルトの名無しさん
2012/12/01(土) 18:12:39.74Gemなんて知らねって(Rubyをただの実行環境としか使ってない)人に渡すのが難なんだよね
0627デフォルトの名無しさん
2012/12/01(土) 20:56:18.54メソッド群をcommaderのところで
イテレーション実行する際、
hogeのようにパラメータが不要な場合に
__send__のところの、*argsをうまく
取り除く?方法はないでしょうか?
class A
def hoge
puts("hogehoge")
end
def fuga(x)
puts(x)
end
def commander
order = [:hoge, :fuga]
params = {:fiuga => "fugafuga"}
self.each{|method|
args = params[method]
self.__send__(method, *args)
}
end
0628デフォルトの名無しさん
2012/12/01(土) 21:03:58.360630デフォルトの名無しさん
2012/12/01(土) 22:56:51.67(脱線:self.eachはorder.each だろうか?)
method(method).arity で判断とか。
質問で使っているローカル変数と被って紛らわしいな。
0631デフォルトの名無しさん
2012/12/02(日) 00:39:51.52argsが空の配列だと引数は無かったものになるよ
def hoge() :hoge end
send(:hoge,*[]) # => :hoge
send(:hoge,*[1]) #ArgumentError
0632デフォルトの名無しさん
2012/12/02(日) 01:08:18.28渡し損ねてエラーになってるのを見間違えたのだろうか?
0633デフォルトの名無しさん
2012/12/02(日) 03:22:34.15誤字、脱字多くて失礼しました。回答ありがとうです
>>631
>argsが空の配列だと引数は無かったものになるよ
ありがとうございます。これ使わせていただきます。
0634デフォルトの名無しさん
2012/12/02(日) 03:58:56.73WINDOWSで一定時間(10分)ごとにブラウザ(ChromeかIE)を更新(読み込み)するマクロ
を教えて下さいお願いします
0635デフォルトの名無しさん
2012/12/02(日) 05:17:12.17webrick/httpproxyでコンテンツ編集するプロクシ作って
window.setTimeout(function(){window.location.reload()},1000*60*60*10);
みたいなjavascriptをHTMLソースに埋め込む
つうか自動更新付いてるブラウザか拡張機能使えよ
0636デフォルトの名無しさん
2012/12/02(日) 06:04:45.67更新するページを自分が管理しているのかどうかとか、
もっと具体的に
0637デフォルトの名無しさん
2012/12/02(日) 06:48:26.10いちいち見せなくてもいいのならRubyで取得して差分出したりなんだりということはできるが、用途次第っすなー
ちなみにどこをどう頑張ってもいわゆるマクロ相当の簡便さ可搬さにはできない
IE操作ならVB.netとかC#使え
Firefoxアドオン製作ならjavaScript使え
どちらにおいてもRubyの出番はない
0638デフォルトの名無しさん
2012/12/02(日) 15:27:02.35*/1 * * * * ruby -e 'puts "#{Time.now.to_i}\t#{`コマンド`}"' >> ~/ファイル名.txt
txtを見てみるとunixタイムとタブのみ出力されていて、肝心のrubyの結果が出ないんだ
コマンド>> ~/ファイル名.txtのみで実行したときはしっかりと出力されるんだが。。。
crontabの書き方が悪いのか?
0639デフォルトの名無しさん
2012/12/02(日) 16:02:03.06とりあえず最後に 2>&1 を追加して様子を見る
0640デフォルトの名無しさん
2012/12/02(日) 16:15:50.90コマンドが見つからないみたいだ パスがおかしいのか?
0641デフォルトの名無しさん
2012/12/02(日) 16:42:57.25まあrubyとはあんまり関係ない部分だと思うわ
0642デフォルトの名無しさん
2012/12/02(日) 20:18:19.060643デフォルトの名無しさん
2012/12/02(日) 20:33:56.900644デフォルトの名無しさん
2012/12/02(日) 21:00:03.690645デフォルトの名無しさん
2012/12/02(日) 21:04:12.52PATH通ってないことがほとんどだな
ユーザーが手動ログインしたときの環境とcrontabが実行されるときの環境はほとんどの場合まったく違う
Rubyをrvmやrbenvでホームディレクトリにインストールしている場合なんかはそのままではたいてい動かない
0646デフォルトの名無しさん
2012/12/02(日) 21:09:12.15PerlのCPANみたいなのありますか?
それはCPANよりモジュールそろってますか?
教えて
0647デフォルトの名無しさん
2012/12/02(日) 23:21:21.95あなたみたいな人はVBAでも弄ってる方が絶対に幸せだよ
0648デフォルトの名無しさん
2012/12/02(日) 23:33:39.85バインドでも充実させてくれれば良いのにな
0649デフォルトの名無しさん
2012/12/03(月) 00:19:06.11きみにぴったりなのはpythonだよ
0650デフォルトの名無しさん
2012/12/03(月) 11:39:57.13CPANほどそろってない
0651デフォルトの名無しさん
2012/12/03(月) 12:55:46.61誰が使っても同じようなコードかけるのがいいよね
Perlは難しいし書く人によってコードが変わりまくるし
変態的で比較的レベルの高い人じゃないと向いてないよ
0652デフォルトの名無しさん
2012/12/03(月) 18:29:59.58ある日「ひさしぶりに Perl を使おう」と思い立ち
$line = chomp($line);
と書いて、意図通り動かないことに気がついたとき
自分は Perl に向いていないと思った。
my とか bless とか、配列とかの不満よりも、
上記の1行コードでの失敗の方がおどろいた。
0653デフォルトの名無しさん
2012/12/03(月) 19:38:41.74みんな嫌々使ってたと言わざるを得ない
ってかもうみんな忘れちゃった言語だよね
まだ使ってる人はコボラーの様にパララー原人としてウッホウッホと生きてゆくしかない。
0654デフォルトの名無しさん
2012/12/03(月) 20:15:56.63流行
新しい/古い
の基準で生きてるお前は死ね
0655デフォルトの名無しさん
2012/12/03(月) 21:15:41.530656デフォルトの名無しさん
2012/12/03(月) 21:19:02.75なんで動かないんだろうと思ったら…
> It returns the total number of characters removed from all its arguments.
( Д ) ゚ ゚
完全に忘れていた。
0657デフォルトの名無しさん
2012/12/03(月) 21:37:35.69Linuxディストリビューションのコアのほうに近い新規スクリプトはPythonか移植性の高い書き方をされたシェルスクリプトかどちらか
新規にPerlスクリプトがゼロから書かれることはまずない
0658デフォルトの名無しさん
2012/12/03(月) 21:50:13.09まぁこんな多様性の無い会社で働いてる俺が悪いんだけど。
0659デフォルトの名無しさん
2012/12/03(月) 21:55:53.97家で存分に使い倒せ
0660デフォルトの名無しさん
2012/12/03(月) 22:14:17.97なぜ同じことを二度言う。
0661デフォルトの名無しさん
2012/12/03(月) 23:00:52.050662デフォルトの名無しさん
2012/12/03(月) 23:08:34.14くらいは標準装備だろ?普通のプログラマなら。
0663デフォルトの名無しさん
2012/12/03(月) 23:52:16.540664デフォルトの名無しさん
2012/12/04(火) 00:16:44.980665デフォルトの名無しさん
2012/12/04(火) 00:17:16.700666デフォルトの名無しさん
2012/12/04(火) 18:19:55.86erlang以外は、どれもスグに習得できる自信がある。
毎日短いスクリプトを書くための標準装備がjsだけで良い。
0667デフォルトの名無しさん
2012/12/04(火) 18:22:14.96はやい話が会社側からすれば、何時捨てたところで変わりがいくらでも居る人材
0668デフォルトの名無しさん
2012/12/04(火) 18:42:36.47初心者はえっと思うかもしれないけど、
普通なんだよ。別に特別なわけじゃなく、普通なんだよね。
ごく普通。
0669デフォルトの名無しさん
2012/12/04(火) 18:57:24.07とかいうのと似てるね
0670デフォルトの名無しさん
2012/12/04(火) 22:17:20.17HTML5未満とCSSはカウントしないのでよろしく
0671デフォルトの名無しさん
2012/12/04(火) 22:24:44.390672デフォルトの名無しさん
2012/12/04(火) 22:27:30.38本スレならまだしも初心者スレでこういう流れは勘弁
0673デフォルトの名無しさん
2012/12/04(火) 23:09:00.90AWK、SED、ShellScript、Lisp、この辺はLinuxとEmacsを使ってたらごく普通。
んでiOS流行ってんだからObj-C触ったことないプログラマなんているはずない。
VBAなんてそこらへんの事務員さんでも使ってるような言語。
VBやC#なんてWindows使ってたら普通に使うし。
あとSICP読んでない奴なんて居るわけないんだからSchemeは当然みんなできるし、
Ruby、Pythonなんてそこらへんにおちてるちょっとしたスクリプトを拝借していじってりゃ覚えるし、
Prolog、Erlang、Clojure、Smalltalkくらいは教養としてやっとけよってレベルでそ?
0674デフォルトの名無しさん
2012/12/04(火) 23:20:26.480675デフォルトの名無しさん
2012/12/04(火) 23:25:00.680676デフォルトの名無しさん
2012/12/04(火) 23:48:37.630677デフォルトの名無しさん
2012/12/05(水) 00:11:37.33ハテブに沢山言語のカテゴリ作っててスカスカってクズだろうなあ
0678デフォルトの名無しさん
2012/12/05(水) 00:37:54.08虫食いのようにあれこれ摘んでろくな記事が増えない
0680デフォルトの名無しさん
2012/12/05(水) 01:15:20.09大学生時代の俺は・・・
それなりに高学歴であらゆる言語をマスターして情報科学を学びEmacsを極限までカスタマイズして
家では自宅サーバーを立ち上げてスタバでドヤ顔でmacbookで作業して有名ベンチャーでバイトをしてチヤホヤされ人生勝った気でいた。
しかし社会に出たら勝手が違った。稼ぐためには価値を生み出さなければならないのだ。自分のためではなく人のために働く必要がある。
俺みたいにはなるなよ。
0681デフォルトの名無しさん
2012/12/05(水) 01:42:25.97Mac OSX Mountain Lion
症状:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
となって実行できない。
バージョン:ruby 1.9.3p194(rbenvでインストール rbenvはHomebrewでインストール)
ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'の出力結果
→/usr/local/etc/openssl/cert.pem(つまりHomebrewで入れたOpenSSLのパス)
なんでエラーになるんだろう?
ちなみにUbuntuでは実行できた。
0682デフォルトの名無しさん
2012/12/05(水) 04:28:49.41了解
0683デフォルトの名無しさん
2012/12/05(水) 23:21:51.69キーチェインアクセスからシステムのルート証明書リストを書き出して
使ってみたらどうでそ?
0684デフォルトの名無しさん
2012/12/05(水) 23:39:54.030685デフォルトの名無しさん
2012/12/06(木) 00:34:32.78emacs
0686デフォルトの名無しさん
2012/12/06(木) 04:30:27.52大学でてたら経営工学概論なんて講義ぐらい取ったんじゃないの?
だいたいベンチャーって、どこも10年ぐらいで潰れるだろ。
とはいえ、ウェブ系でロクロ回してる連中と中堅規模の無能の集まりって、
どっちが最後まで立ってんだろな。巻き込まれたくないバブルだこと
ところで受託開発とニッチでコアな技術って、どっちが社会的に付加価値あるんだろ
0687デフォルトの名無しさん
2012/12/06(木) 04:44:22.66SICPもprologも内容的に被るから、片方で良いでしょ
web系よかメーカー系の方が、よっぽど技術者らしい人生を送れそう
web系は、もはやエンジニアではなく起業家か事務屋の集合体か何かだ
>>676
経験年数に対して言語数が多ければ大した仕事してないって見るでしょ。普通は。
よっぽどボンクラな採用担当でもなけりゃ、言語や経験年数より、どの業務に従事したか聞くよ
0688デフォルトの名無しさん
2012/12/06(木) 04:51:13.49時間と記憶力の資源は、もっと有意義なことに使えよ
0689デフォルトの名無しさん
2012/12/06(木) 10:32:07.35例えばWeb屋さんだと、
バックエンドに、Ruby、C、Java、Node.js
フロントエンドに、JavaScript、Java、Action Script、
メンテにShellSsript、
くらいはごく普通に常用してるでしょ?
あなたは初心者なのになんで意見しちゃうの?
0690デフォルトの名無しさん
2012/12/06(木) 11:20:46.510691デフォルトの名無しさん
2012/12/06(木) 12:30:51.720692デフォルトの名無しさん
2012/12/06(木) 12:45:17.15Rubyはシェルスクリプトレベルの頻度と隠れ具合なはず
「見えない」部分で言語指定がない場合にはシェルスクリプトで書くが、それがRubyになる感じ
まあ、初心者スレ向きの話ではない
「Rubyができるからといって仕事や就職の口があるわけではない」という認識で間違いない
仕事や就職自体は別の技術で受けて、プロダクト本体にならない自由裁量部分でRubyを使う
0693デフォルトの名無しさん
2012/12/06(木) 13:51:51.540694デフォルトの名無しさん
2012/12/06(木) 15:42:39.310695デフォルトの名無しさん
2012/12/06(木) 15:43:02.65配列の中に配列を入れたくて調べているのですが
ary=[[a, b, c, d, ], [e, f, g, ], [h, i, ], [j, k, l, m, ]]
のように各要素数がバラバラの二重配列って作れないんですか?
最初一つ目の要素(a, b, c, d, )のあとに二つ目(e, f, g, )を追加,というようにぼんぼん突っ込んでたら,
ary=[a, b, c, d, e, f, g, h, i, j, k, l, m, ]という配列になってしまって
本当はary[0]=[a, b, c, d, ],ary[1]=[e, f, g, ]を取り出したいのに
カンマで切れてary[0]=[a, ],ary[1]=[b, ]となってしまったのです
二重配列以外にも対策あったら教えて下さいお願いします
0696デフォルトの名無しさん
2012/12/06(木) 16:11:37.96=> []
irb(main):002:0> ary << %w(a b c d)
=> [["a", "b", "c", "d"]]
irb(main):003:0> ary << %w(e f g)
=> [["a", "b", "c", "d"], ["e", "f", "g"]]
irb(main):004:0> ary
=> [["a", "b", "c", "d"], ["e", "f", "g"]]
irb(main):005:0> ary[0]
=> ["a", "b", "c", "d"]
irb(main):006:0> ary[0][1]
=> "b"
0697デフォルトの名無しさん
2012/12/06(木) 16:40:34.690698デフォルトの名無しさん
2012/12/06(木) 16:49:33.57>>695
Array#<< および Array#push は引数のオブジェクトを配列の最後の要素として単純に追加する
要素を配列にしたければ引数に配列を指定すればいい
irb> arr = []
irb> arr << ['a', 'b', 'c', 'd']
irb> arr << ['e', 'f', 'g']
irb> p arr
[["a", "b", "c", "d"], ["e", "f", "g"]]
0699デフォルトの名無しさん
2012/12/06(木) 19:24:32.93あらかじめrubyで何かしらのサーバを立てておいて
サーバが動いているマシン内で別のrubyプログラムを走らせて
サーバの挙動を変えたいのですが、このようなことは可能でしょうか?
例 別プログラムが動いてない時のサーバはアクセスがあると「A」を返すが
別プログラムを動かすと「B」を返すようになる。
(「A」を返すところを「B」を返すように動的に書き換える)
0700デフォルトの名無しさん
2012/12/06(木) 19:51:01.75ググって調べろよカス
0701デフォルトの名無しさん
2012/12/06(木) 19:55:18.34可能です!
0702デフォルトの名無しさん
2012/12/06(木) 20:06:56.710703デフォルトの名無しさん
2012/12/06(木) 20:32:10.87できるかどうかすら他人に訊かないと分からないレベルならもっと大人しいことから勉強しなよ
そもそもここが何のスレかも分かってないみたいだし
0704デフォルトの名無しさん
2012/12/06(木) 20:45:28.020705デフォルトの名無しさん
2012/12/06(木) 20:55:28.660706デフォルトの名無しさん
2012/12/06(木) 21:16:46.83できました!ありがとうございます
%wも分かったのですが実際のデータはスペースも含んでいるので使えませんでした
0707デフォルトの名無しさん
2012/12/06(木) 22:22:18.490708デフォルトの名無しさん
2012/12/07(金) 04:52:08.290709デフォルトの名無しさん
2012/12/07(金) 12:45:15.22以下のプログラムでうまくいかないのですがどこがおかしいのでしょうか
ary_a = Array.new(0)
k = 3
while k < 10
text = [k] #既に存在しているk番目のテキスト
ary_b = Array.new(0)
counter.count("#{text}") #テキスト中から名前と出現回数を探すモジュールを使用
counter.result.each do |name, count| #名前と回数を配列に入れていく
ary_b << "#{name}"
ary_b << count #この時点で["花子", 1, "太郎", 3]のような配列になる
end
ary_a << ary_b #二重の配列を作っていく
k += 1
end
本当はary_a[0]=["花子", 1, "太郎", 3],ary_a[1]=["花子", 2, "優子", 1]としたいのに
ary_a[0]のカウントにary_a[1]が追加されてary_a[1]=["花子", 3, "太郎", 3, "優子", 1]となってしまいます
お願いします
0710デフォルトの名無しさん
2012/12/07(金) 13:00:10.25X ary_a = Array.new(0)
O ary_a = [[]]
0711デフォルトの名無しさん
2012/12/07(金) 13:05:24.44かわりませんでしたorz
ちなみに以下のものはうまく行きます
ary=[]
ary << %w(a b c d)
p ary => [["a", "b", "c", "d"]]
ary << %w(e f g)
p ary => [["a", "b", "c", "d"], ["e", "f", "g"]]
ary=[]
ary << %w(a b c d)
p ary => [["a", "b", "c", "d"]]
0712デフォルトの名無しさん
2012/12/07(金) 13:19:39.93ごく普通に素直にリテラルで [] や [ ] と書くとよい
なにかデータを格納したマイオブジェクトがあって、メソッド引数で動作を指定して、動作結果を利用したいという場合は
my = MyObject.new(init_data)
my.action(condition)
my.result...
ではなく、actionメソッドの戻り値の時点で計算結果を返すようにするとよい(resultメソッド自体は別途存在しても構わない)
my = MyObject.new(init_data)
result = my.action(condition)
result...
んで、おそらく、単にcountメソッドかresultメソッドがバグってる
p k,text,counter.result,'--------------------'
あたりをeachの前に入れて、期待通りの出力になるかどうか確かめてみれ
0713デフォルトの名無しさん
2012/12/07(金) 15:57:27.95ありがとうございます メソッドがバグってるみたいです
でも私の知識ではメソッドを直すよりもあとから修正したほうが早そうですw
配列からハッシュ作成しているので,{"花子"=> 3, "太郎"=> 3, "優子"=> 1}
から{"花子"=> 1, "太郎"=> 3}を引き算して{"花子"=> 2, "優子"=> 1}を作る方法はありますか?
なんとぐぐれば良いのかあやふやですが調べてみます
0714デフォルトの名無しさん
2012/12/07(金) 16:34:09.68webで見つけた名詞カウントモジュールなのですが繰り返し利用すると加算されてしまうのはなぜでしょうか
インスタンス変数が空になってないから?初心者すぎてorz
長いので分けます
module Meishi
class WordCounter
NECESSARY = %w/名詞,サ変接続 名詞,一般 名詞,形容動詞語幹 名詞,固有名詞 名詞,接尾 名詞,副詞可能 接頭詞,名詞接続/
def initialize
@result = Hash.new(0)
end
attr_reader :result
# mainループ
def count(text)
words = split_to_words(text)
count_up_result(words)
self
end
0715デフォルトの名無しさん
2012/12/07(金) 16:34:40.37def split_to_words(text)
results = IO.popen("mecab", "r+") { |mecab|
mecab.puts(text)
mecab.close_write
mecab.readlines
}
results.map { |result| necessary?(result) ? result.split.first : nil }.compact
end
# 単語として使うする属性を判断する
def necessary?(feature)
case feature
when Regexp.new(NECESSARY.join('|'))
true
else
false
end
end
# 単語数をカウント
def count_up_result(words)
words.each do |word|
@result[word] += 1
end
end
end
end
以上ですお願いします
0716デフォルトの名無しさん
2012/12/07(金) 16:53:07.190717デフォルトの名無しさん
2012/12/07(金) 17:13:47.54幼女ですが何か
0718デフォルトの名無しさん
2012/12/07(金) 18:03:24.27ああやっぱり初期化のところでしたか…
調べていたら最初のinitializeが初期化だと出てきたのですが初期化できていないのでしょうか
0719デフォルトの名無しさん
2012/12/07(金) 18:09:57.330720デフォルトの名無しさん
2012/12/07(金) 18:12:09.990721デフォルトの名無しさん
2012/12/07(金) 18:52:52.00プログラムは思っている通りではなく書いている通りに動く
たいへん残念なことにプログラミングは魔法ではないので、自力で道筋を考えて記述する必要がある
挙げられたメソッドを見る限り、どれがどうやってどう動いているか把握できてないものと思われる
0722デフォルトの名無しさん
2012/12/07(金) 18:59:22.34カウントするところだけを何度も呼び出してたんですね…
呼び出してカウントする都度@resultを初期化しなければいけないんですね
今なにも考えず@result = Hash.new(0)をぶちこんだらエラーでたので調べているところですorz
0723デフォルトの名無しさん
2012/12/07(金) 19:03:24.38カウントする度にメソッドまるごと呼び出したらできました!
みなさんありがとうございました!!
0724デフォルトの名無しさん
2012/12/07(金) 19:13:07.08module Meishi
class WordCounter
NECESSARY = %w/名詞,サ変接続 名詞,一般 名詞,形容動詞語幹 名詞,固有名詞 名詞,接尾 名詞,副詞可能 接頭詞,名詞接続/
def count(text)
result = {}
split_to_words(text).each{|word| result[word] += 1}
result
end
def mecab(text)
IO.popen("mecab", "r+") { |mecab| mecab.puts(text); mecab.close_write; mecab.readlines}
end
def split_to_words(text)
words = []
pattern = Regexp.new(NECESSARY.map{|s| Regexp.quote(s)}.join('|'))
mecab(text).each{|line| words << result.split.first if line =~ pattern}
words
end
end
end
たぶん動かない
result メソッドはなくなったので count の戻り値を直接使ってね
0725デフォルトの名無しさん
2012/12/07(金) 19:27:29.590726デフォルトの名無しさん
2012/12/07(金) 19:31:13.22不憫なコードだなおいw
0727デフォルトの名無しさん
2012/12/08(土) 15:00:06.14「mecabを使って、あるテキスト中に含まれる名詞の出現回数を集計せよ」
http://play.island.ac/codepaste/code?id=29
ポイントは、メソッド Enumerable#inject を使った配列からハッシュの生成(>>713 ...?)
もし分からなければ、以下の文書を一読してみて!!
・Rubyによる関数型プログラミング
http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
・YOUたち!RubyでinjectしちゃいなYO!
http://melborne.github.com/2012/06/18/i-am-inject-lover-too/
0728デフォルトの名無しさん
2012/12/08(土) 15:34:39.28宿題は自分でやれよ
0729デフォルトの名無しさん
2012/12/08(土) 18:24:01.75require "curses"
Curses.init_screen
Curses.start_color
Curses.init_pair 1, Curses::COLOR_BLACK, Curses::COLOR_WHITE
begin
Curses.attrset(Curses.color_pair(1))
Curses.addstr("Hello World!")
Curses.refresh
Curses.getch
ensure
Curses.close_screen
end
0730デフォルトの名無しさん
2012/12/08(土) 18:29:29.95init_color ルーチンは色の定義を変更します。 次の 4 つの引数を取ります。
変更する色の番号の後に 3 つの RGB 値が続いたものです (赤、緑、青の各コンポーネントの量についてです)。
最初の引数の値は、0 と COLORS の間である必要があります
(デフォルトのカラーインデックスについては、 Colors のセクションを参照してください)。
最後の 3 つの引数はそれぞれ 0 と 1000 の値の間にある必要があります。
init_color を使用するとき、 画面上にその色が発生したところはすべてただちに新しい定義に変化します。
0731デフォルトの名無しさん
2012/12/08(土) 20:06:23.86Curses.init_color(Curses::COLOR_BLACK, R, G, B)
すると、画面で COLOR_BLACK を指定した部分の色が
指定のRGBに変わるんじゃないの?
うちのターミナルだと Curses.can_change_color? が false なので確認できないけど。
0732デフォルトの名無しさん
2012/12/09(日) 04:19:10.160733デフォルトの名無しさん
2012/12/09(日) 04:49:31.770734デフォルトの名無しさん
2012/12/09(日) 10:22:08.95嫌でも外に出ることになる
0735デフォルトの名無しさん
2012/12/09(日) 10:46:51.45[1].each{ |a| p proc.call }
1を出力して欲しいのにブロックのaが参照出来ないみたいでエラーになってしまいます。
proc = proc(a){ a } と値を渡す以外の方法でブロックのaを参照する方法はないでしょうか。
0736デフォルトの名無しさん
2012/12/09(日) 15:01:50.79[1].each{|a| proc = proc{a}; p proc.call}
0737デフォルトの名無しさん
2012/12/09(日) 15:35:52.44a=0
proc=proc{a}
[1].each{|b|a=b; p proc.call}
0738デフォルトの名無しさん
2012/12/09(日) 16:43:43.73いわゆる動的スコープの振る舞いを
そのままRubyで実現する方法は無いと思う
0739デフォルトの名無しさん
2012/12/09(日) 18:51:22.78コードの中にVBAのコードを書いているのですが例えば
i = 1
a = <<EOT
j = i
EOT
のようにVBAの中にそれまでRubyで使っていた変数を入れることは不可能でしょうか
0740デフォルトの名無しさん
2012/12/09(日) 19:10:07.18a = <<EOT
j = #{i}
EOT
0741デフォルトの名無しさん
2012/12/09(日) 19:13:41.50式展開
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fliteral.html#exp
0742デフォルトの名無しさん
2012/12/09(日) 19:16:13.65できました
ありがとうございました
0743デフォルトの名無しさん
2012/12/10(月) 01:59:02.41綺麗にまとまっていて分量もそれほど多くない(数百行?)ものでオススメはありますか?
Class周りの実際の使い方がよくわからないのでそのへんが書いてあるといいです
0744デフォルトの名無しさん
2012/12/10(月) 02:08:22.10プログラミングRubyとか、オライリーのやつとかベストプラクティスとかそこら辺
0745デフォルトの名無しさん
2012/12/10(月) 04:07:27.20ただ使われてるプログラムも読んでみたいです
0746デフォルトの名無しさん
2012/12/10(月) 04:22:31.24スレ直近だと>>714-715から>>724の「値の受け渡しにインスタンス変数を使わないで済むならそうする」というのがあるが、これを口で言ってもピンと来ないはず
使いでがあって構造見れそうなのはNet::HTTPとかだろうか
HTTPの知識ないとわけわかめだけど
なんか自分の知識のある分野のスクリプト読んでみるのがいいかと思う
ここで一度も使ったことがなくて用途もよくわからんライブラリを「綺麗だから」という理由で勧めても、たぶん"読めない"
多少汚なくても、自分が使える分野の他人の書き方を眺めるほうが勉強になる
あとあと「あのライブラリってヒドかったのね」とわかればそれはそれで糧
0747デフォルトの名無しさん
2012/12/10(月) 04:41:04.10プログラミングRubyはさすがに
初心者向けとは言いがたいと思う
0748デフォルトの名無しさん
2012/12/10(月) 07:07:48.710749デフォルトの名無しさん
2012/12/10(月) 10:07:38.73http://jp.rubyist.net/magazine/?0015-CodeReview
0750デフォルトの名無しさん
2012/12/10(月) 11:37:08.870751デフォルトの名無しさん
2012/12/10(月) 12:04:44.26理屈的には、Cで書かれたマクロの集合体がRubyだ
Rubyスクリプトは、C言語プログラムを細かく動作指示しているに過ぎない
0752デフォルトの名無しさん
2012/12/10(月) 12:40:51.71>理屈的には、Cで書かれたマクロの集合体がRubyだ
Cでインタープリター、コンパイラを作ってるからという意味なら、かなりの数の言語が相当するな。
0753デフォルトの名無しさん
2012/12/10(月) 13:19:47.23いかに安楽効率的わかりやすくCプログラムを動作させるかの指示の集合体
0754デフォルトの名無しさん
2012/12/10(月) 13:20:57.72正しい助言だ
散歩すると、
健康によい、うつ状態も改善する、便秘がよくなる、日光でビタミンDができる、よく眠れる、食欲が出る、
よいことずくめ
0755デフォルトの名無しさん
2012/12/10(月) 15:27:32.29日常的な事務処理用だと、DSLの楽さは捨てがたい。
0756743
2012/12/10(月) 17:48:00.070757デフォルトの名無しさん
2012/12/12(水) 08:50:03.28この処理ができるならやって、できないならスルー
ってどう書けばよいでしょうかw
具体的には複数のテキスト内を順番にサーチしていき
ある文字列があるならそれを取り出し、なければなにもしないという処理をしたいです
if サーチした結果 = nil
p 1
else
p 2
end にしたら全部2になるし
if サーチした結果 = ""
にしたら全部1になるしで判別できません
0758デフォルトの名無しさん
2012/12/12(水) 11:05:20.51==が比較
if サーチした結果 == nil
とする。
あるいは
if サーチした結果.nil?
とか
if !サーチした結果
とか
unless サーチした結果
とする。
0759デフォルトの名無しさん
2012/12/12(水) 11:48:48.85書いてみたコードを晒したら、アドバイスしやすい。
0760デフォルトの名無しさん
2012/12/12(水) 11:58:04.85返ってくる値がnilじゃなくて""だったので
h = サーチした結果
unless h == ""
テキストとってくる
end
これでうまくいきそうです
0761デフォルトの名無しさん
2012/12/13(木) 00:10:06.22if conditionとunless !conditionって同じですよね?
unlessを使うと、
・タイプ数が多くなる
・手続き中に正常系と異常系が混在して頭の切り替えコストが増える
・二重否定が可能
なんだけどメリット有るんですか?
0762デフォルトの名無しさん
2012/12/13(木) 00:13:32.900763デフォルトの名無しさん
2012/12/13(木) 00:18:15.21* 後置するとブロークンイングリッシュとして読みやすくなる場合がある。
* if !condition だと ! を見落としやすい (if ! condition のように間を開けて見やすくする流儀もある)。
尚、unless には else 節を付けないほうがいい。
それこそ二重否定でわかりづらくなる。
0764デフォルトの名無しさん
2012/12/13(木) 00:25:15.57なんかJavaとかでifに常に{}書けという主張とやや似てる
0765デフォルトの名無しさん
2012/12/13(木) 00:34:01.73> This is provided as a more readable version of "if (!condition)".
とだけ。
0766デフォルトの名無しさん
2012/12/13(木) 00:44:13.43同意できないw
0767デフォルトの名無しさん
2012/12/13(木) 01:18:12.72puts "#{i+1} / #{SIZE_OF_ARRAY}"
end
とかしたいだんけどSIZE_OF_ARRAYを表す組み込み変数とか無いの?
array = [1,2,3]
array.each_with_index do |e, i|
puts "#{i+1} / #{array.size}"
end
だと変数への代入が増えて何かダサイ
0768デフォルトの名無しさん
2012/12/13(木) 01:20:29.820769デフォルトの名無しさん
2012/12/13(木) 01:24:16.83# 全然解決になってない:)
0770デフォルトの名無しさん
2012/12/13(木) 01:33:08.50おまえのような雑魚が同意できなかったところで誰も困らない
Larryが使いやすければ、それでいい
0771デフォルトの名無しさん
2012/12/13(木) 01:51:26.84def with_size(&blk)
return to_enum(:with_size) unless blk
ary = to_a
size = ary.size
ary.each{|args|
blk[*args, size]
}
end
end
%w(a b c).each_with_index.with_size{|s,i,n|
p [s,i,n]
}
0772デフォルトの名無しさん
2012/12/13(木) 23:29:31.42rubyでプログラムを実行し、表示させた結果をメモしないままターミナルを閉じてしまいました。
表示履歴を見る方法はありますか?
0773デフォルトの名無しさん
2012/12/13(木) 23:34:34.31入力したコマンドラインの履歴でよければ$HOME/.bash_historyとかに入ってる可能性があるけど
0774デフォルトの名無しさん
2012/12/13(木) 23:42:24.44コマンドラインじゃなくて、コマンドラインで実行させた結果が知りたいです。
詳しい人に初期設定してもらったので、ひょっとしたらログを保存する設定になっているかもしれません。
その場合、どう入力したらいいかご存知でしょうか?
ググってもググってもよくわからないんです・・・!
0775デフォルトの名無しさん
2012/12/13(木) 23:48:34.19「ほー」と思った記憶があるんだけど幻だったのかな・・・
0776デフォルトの名無しさん
2012/12/13(木) 23:52:28.56その詳しい人に聞いたらいいじゃないか
ちなみにターミナルっていっても色々あるけどmacの場合はこんなのが出てきた
http://at-fog-of-index.blog.so-net.ne.jp/2010-12-24
0777デフォルトの名無しさん
2012/12/14(金) 00:10:35.36その詳しい人はある日出社しなくなったまま行方不明になってしまったのでなんとも・・・
今後はちゃんと保存しておくよう、教えていただいた方法で設定しておきますね、ありがとうございます。
今回はもう諦めて上司に土下座することにします。
これを機にいろいろとrubyを勉強しよう、そうしよう・・・
0778デフォルトの名無しさん
2012/12/14(金) 00:17:36.010779デフォルトの名無しさん
2012/12/14(金) 00:18:50.850780デフォルトの名無しさん
2012/12/14(金) 01:03:06.56これならシェルの引数をそのまま渡した方がまだましだわ。
0781デフォルトの名無しさん
2012/12/14(金) 01:08:53.910782デフォルトの名無しさん
2012/12/14(金) 01:11:01.80なんかC臭さの残る仕様だわ。
0783デフォルトの名無しさん
2012/12/14(金) 01:33:04.23railsのrakeもそうなってるしな。
0784デフォルトの名無しさん
2012/12/14(金) 02:17:12.12↓おおげさ
class HogeException < Exception
end
begin
raise HogeException.new
rescue HogeException
puts "うわー"
end
↓こんな感じで書きたい
begin
raise :hoge if hoge
raise :fuga if fuga
rescue :hoge
puts "うわー"
rescue :fuga
puts "ぬわー"
end
0785デフォルトの名無しさん
2012/12/14(金) 02:17:53.000786デフォルトの名無しさん
2012/12/14(金) 04:58:42.95Rubyにおける例外クラス定義とraiseとrescueはおおげさでもなんでもない
Javaのように管理しようとすると破綻するぞ
0787デフォルトの名無しさん
2012/12/14(金) 07:54:51.75アプリケーションエラー以外の例外クラス名を思いつかなくて事前にifで避けられるならifで避けたほうがマシ
0788デフォルトの名無しさん
2012/12/14(金) 10:54:38.25case exp =
catch(:exp) do
throw(:exp,:hoge) if hoge
throw(:exp,:fuga) if fuga
end
when :hoge then puts 'うわー'
when :fuga then puts 'ぬわー'
end
0789デフォルトの名無しさん
2012/12/14(金) 10:56:32.73(´・ω・`)…
0790デフォルトの名無しさん
2012/12/14(金) 19:31:55.86flag='うわー'
begin
raise 'うわー' if flag=='うわー'
raise 'ぬわー' if flag=='ぬわー'
rescue Exception => ex
case ex.message
when 'うわー'
puts ex.message
when 'ぬわー'
puts ex.message
end
end
0791デフォルトの名無しさん
2012/12/14(金) 19:36:33.22最早なんのためになにを避けてたんだかわからなくなってるな
0792デフォルトの名無しさん
2012/12/14(金) 20:14:27.84> ↓こんな感じで書きたい
> begin
> raise :hoge if hoge
> raise :fuga if fuga
> rescue :hoge
> puts "うわー"
> rescue :fuga
> puts "ぬわー"
> end
元がコレだからな
なんで例外使いたいんだか
0793デフォルトの名無しさん
2012/12/14(金) 20:26:11.930794デフォルトの名無しさん
2012/12/14(金) 22:53:54.040795デフォルトの名無しさん
2012/12/14(金) 23:03:50.62attr_reader :sym
def initialize(sym)
@sym = sym
end
end
class Symbol
alias old_match ===
def ===(obj)
return old_match(obj) unless SymbolException === obj
obj.sym == self
end
end
def raise(*args)
Kernel.raise *args unless args.length == 1 && Symbol === args[0]
raise SymbolException.new(args[0])
end
begin
raise :hoge
rescue :fuga
p "fuga"
rescue :hoge
p "hoge"
end
こんなの実装できるとかRuby変態だろ…
0796デフォルトの名無しさん
2012/12/15(土) 00:57:15.80>こんなの実装できるとかRuby変態だろ…
偽装Lispだからな。
0797デフォルトの名無しさん
2012/12/15(土) 01:02:50.15おまいらなら、余裕でRuby GOLDが取れそうだな。
0798デフォルトの名無しさん
2012/12/15(土) 02:12:28.77なんでもかんでも重複を省こうとする
アホちゃうかと
読みやすさ、メンテのしやすさ、手間、バランスを考えろ
0799デフォルトの名無しさん
2012/12/15(土) 02:32:23.51そこが分かってない。
0800デフォルトの名無しさん
2012/12/15(土) 05:33:45.21def doya
if a == 1# えー
|| b =~ /hoge/ # びー
|| c !~ /moge/ # しー
|| d.empty? # でー
|| !e.nil? # いー
then
puts "わーい"
else
puts "ぐはあ"
end
end
とか書けないんだ。
0801デフォルトの名無しさん
2012/12/15(土) 05:35:48.83一行で書けるブロックコメントも無いしなぁ
def doya_sub
if a == 1 || b =~ /hoge/ || c !~ /moge/ || if d.empty? || !e.nil?
puts "わーい"
else
puts "ぐはあ"
end
end
じゃあ↓こうする?
こりゃりたーんりたーん五月蝿いなぁw
def doya
puts doya_sab ? "わーい" : "ぐはあ"
end
def doya_sub
return true if a == 1# えー
return true if b =~ /hoge/ # びー
return true if c !~ /moge/ # しー
return true if d.empty? # でー
return true if !e.nil? # いー
return false
end
0802デフォルトの名無しさん
2012/12/15(土) 07:13:54.44はい、Ruby的には判断できませぬ
インデントとか揃わなくてかっこ悪いとたいへん不評なのですが
if
cond1 || # when 1
cond2 || # when 2
cond3 # when 3
then
のようにorを後ろに書いてくだされ
0803デフォルトの名無しさん
2012/12/15(土) 07:25:33.12if cond1 || # when 1
cond2 || # when 2
cond3 # when 3
then
0804デフォルトの名無しさん
2012/12/15(土) 19:21:50.57groovyと比較するとbegin-endの方が目に優しいね
0805デフォルトの名無しさん
2012/12/16(日) 01:30:47.96記号含有率を下げると同時に、`波括弧を目立ちやすくする
という設計意図があるらしい
0806デフォルトの名無しさん
2012/12/16(日) 04:28:35.10トークンとして長くて大きくて実質"予約語"として命名余地を圧迫してることは否定しないが、使用中の見易さそのものは大差ねえよ
0807デフォルトの名無しさん
2012/12/16(日) 04:32:17.380808デフォルトの名無しさん
2012/12/16(日) 08:49:25.760809デフォルトの名無しさん
2012/12/16(日) 12:49:58.30スクリプトから特定のバージョンを指定で実行するようにしたい時は
#!/Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
とかしないといけないんでしょうか。
これだとバージョンを上げるとスクリプトを修正しないといけないので、
#!/Users/username/.rvm/rubies/ruby-1.9
とかで指定できて、rvmで自動的に最新の1.9系へのシンボリックリンクがはられる、
みたいのができると便利だと思うんですけどできないですか?
0810デフォルトの名無しさん
2012/12/16(日) 13:24:54.53rvm に 1.9系の最新 みたいな概念はないんじゃない?
0811デフォルトの名無しさん
2012/12/17(月) 04:53:24.51定数のように値を後で変更できない配列やhashを作成することはできませんか?
0812デフォルトの名無しさん
2012/12/17(月) 05:28:33.09irb> a.freeze
irb> a << 3
RuntimeError: can't modify frozen array
irb> p a
[1, 2]
ただ、実際のところはそれほど強制的な効果はなく、わりと嫌われてもいる
ユーザーに値を変更して欲しくないのなら、マニュアルにそう書くか、そもそも自己責任で放置するほうがよい
0813デフォルトの名無しさん
2012/12/17(月) 06:04:06.74変更したらうまく動作しない可能性があるのも「当たり前」
「これを外部から変更されたらプログラムが誤動作するので変更を禁止したい」
とか過保護または過敏に考える必要はない
0814デフォルトの名無しさん
2012/12/17(月) 06:57:23.260815デフォルトの名無しさん
2012/12/17(月) 06:59:51.340816デフォルトの名無しさん
2012/12/18(火) 00:14:43.70Railsのソース見てもfreezeぐらいたくさん出てくるのに。
0817デフォルトの名無しさん
2012/12/18(火) 04:35:32.860818デフォルトの名無しさん
2012/12/18(火) 11:15:16.40こういうのじゃダメなの?
class << FOO=Object.new
def bar
1
end
def baz
2
end
end
0819デフォルトの名無しさん
2012/12/18(火) 19:37:56.040820デフォルトの名無しさん
2012/12/19(水) 11:32:58.13class Counter < BasicObject
def initialize
@count = 0
end
def plus(n)
@count += n
end
def method_missing(*a)
@count.send(*a)
end
end
みたいな感じのクラスを作って思い通りの動作は得られたのですが、
インスタンスの.classがFixnumになってしまうのがどうにも・・・
他にうまい実装方法ありませんかね?
0821デフォルトの名無しさん
2012/12/19(水) 12:17:38.57ancestorsは? kind_of? は? instance_methods で plus が出ないけどいい?
ということで選んで移譲するのがいいように思う
てゆーか Object や Module のメソッドを使いたいなら BasicObject の直接継承なんてやってはいかんぜよ
0822デフォルトの名無しさん
2012/12/19(水) 12:59:51.22class Counter
attr_reader :count
def initialize
@count = 0
end
def plus(n)
@count += n
end
end
こういうクラスがあったとして
counter = Counter.new
counter.count #こうじゃなくてcounter単体で@countの値を得たい
つまり.countを省略したいと言うだけのことなのです
委譲を使って下記のようにも書けたのですが・・・そういうことではないんですかね?
class Counter < DelegateClass(Integer)
def initialize
super 0
end
def plus(n)
__setobj__ self + n
end
end
0823デフォルトの名無しさん
2012/12/19(水) 21:58:40.90pでの表示はinspectとか、文字列に埋め込んだりするとto_sとかが呼び出されて変換されますが
足し算などでは勝手に何かメソッドを呼んでくれたりはしないんでしょうか?
0824デフォルトの名無しさん
2012/12/19(水) 23:57:44.76class C
# C.new + 10 #=> 110
def +(other) 100 + other end
# 10 + C.enw #=> 110
def coerce(n) [n,100] end
end
0826デフォルトの名無しさん
2012/12/20(木) 22:53:23.660827デフォルトの名無しさん
2012/12/21(金) 01:29:03.32ruby ファイル名.rb で必要な情報一覧はLinuxコンソール上から叩くと取得出来ています。
これをブラウザ上にテキスト形式でどの様に表示させればいいのか解らず、sinatraと言うフレームワークもためしましたが上手く行かず、、、
多分凄い簡単な気もするのですが全くわかりません。
テキストにしたいと言う理由は実行結果をjson形式の書式に無理やり変えている為です。require jsonは利用してません。DBは利用してません。
プログラミング自体初心者です。。
0828デフォルトの名無しさん
2012/12/21(金) 02:14:25.800829デフォルトの名無しさん
2012/12/21(金) 02:17:30.67とりあえず、ここを嫁。
http://www.sinatrarb.com/intro-jp.html
んでhttp://localhost:4567をWebブラウザでアクセスしてうまくいってそうなら、
次は、↓みたいにparamsってHashの変数を使うように書き換えて再起動して、
# myapp.rb
require 'sinatra'
get '/' do
return '嫁は' + params[:yome] + '妹' + params[:imouto]
end
↓でアクセスして引数が参照できたら、
http://localhost:4567/?yome=morisama&imouto=rikka
あとは好きにいじって行け。
あとHTTPの勉強が少し要ると思う。
0830デフォルトの名無しさん
2012/12/21(金) 02:24:11.23有り難うございます。
:4567で起動はしてるのですが、Linuxのコンソール上には結果は出ていてエラーもありません。
ですがブラウザは真っ白な状態になっていてソースを表示しても何も入ってないと言う感じです。
スクリプトの結果をコンソールと同じ様にしたいだけなのにそれがどうしても出来ません。
0831デフォルトの名無しさん
2012/12/21(金) 02:30:02.59ちなみにコードは
get '/' do
ここにまるごと張り付けてます。
end
ハッシュを利用しないといけないのであればなぜそうなのかが公式見ても理解出来ません。。。
0832デフォルトの名無しさん
2012/12/21(金) 02:47:36.880833デフォルトの名無しさん
2012/12/21(金) 02:56:23.28コンソールへの出力にputsとか使ってるんだろう?
putsは引数の文字列をlinuxコンソールに出力するメソッド(本当は違うけど)
今現在コンソールに出力されてる文字列をブラウザに送るにはどうすればいいかは
829に書いてくれてあるのをみればわかるだろわかるよなわかってくれよそんくらい
0834デフォルトの名無しさん
2012/12/21(金) 03:26:47.76get '/' do
return "森夏ちゃんエロい"
end
とかいて、表示したいもんを文字列にしてreturnで返せ。
そうしたらブラウザで
http://localhost:4567/
にアクセスすると"森夏ちゃんエロい"が表示されるんだよ。
0835デフォルトの名無しさん
2012/12/21(金) 03:51:48.91│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0836デフォルトの名無しさん
2012/12/22(土) 14:51:40.51s = gs.accept()
s.puts("あ")
でクライアントに"あ"が送信されますが送信文に改行\nを加えるとそこで送信文が終わってしまします
つまりs.puts("あ\nい")とするとクライアントは"あ"しか受信してくれません
なんとかなりませんか
0837デフォルトの名無しさん
2012/12/22(土) 14:58:50.35http://doc.ruby-lang.org/ja/1.9.3/method/IO/i/gets.html
0838デフォルトの名無しさん
2012/12/23(日) 00:52:07.77皆さんどうしていますか
0839デフォルトの名無しさん
2012/12/23(日) 01:41:22.82exit も打てなくて C-c も使えないということ?
じゃ、GUIのタスクマネージャから終了させる
コマンドラインだったら、別の DOS プロンプトから tasklist で
実行時期が早めの DOSプロンプト(cmd.exe)の pid を調べて kill する
0840デフォルトの名無しさん
2012/12/23(日) 08:32:59.15嘘を教えるな
irb.exe もしくは ruby.exe の pid を調べて kill する
0841839
2012/12/24(月) 00:28:12.80フォローありがとう
0842デフォルトの名無しさん
2012/12/28(金) 11:02:17.08してrubyでメールを送ることに成功したのですが、宛先がgmailのときだけ
/usr/lib/ruby/1.8/net/smtp.rb:942:in `check_response': 553 5.7.1 <[email protected]>... Relay operation rejected (Net::SMTPFatalError)
from /usr/lib/ruby/1.8/net/smtp.rb:911:in `getok'
from /usr/lib/ruby/1.8/net/smtp.rb:854:in `rcptto'
from /usr/lib/ruby/1.8/net/smtp.rb:835:in `rcptto_list'
from /usr/lib/ruby/1.8/net/smtp.rb:833:in `each'
from /usr/lib/ruby/1.8/net/smtp.rb:833:in `rcptto_list'
from /usr/lib/ruby/1.8/net/smtp.rb:654:in `sendmail'
from ./mailtest.rb:26:in `sendmail'
from /usr/lib/ruby/1.8/net/smtp.rb:526:in `start'
from /usr/lib/ruby/1.8/net/smtp.rb:463:in `start'
from ./mailtest.rb:25:in `sendmail'
from ./mailtest.rb:68
となって失敗してしまいます。対処法をご存知のかたは教えて下さい。
0843842
2012/12/28(金) 11:51:38.09smtpの認証パラメータを設定していなかったのが原因でした
0844デフォルトの名無しさん
2012/12/31(月) 07:06:44.40test01
うんこ
うんち
う○こ
のように書かれているとします。
このうち「う○こ」を「うんこ」に置き換えたいのですがどうすればいいですか?
ファイルに直接変更を加えるということです。
0845デフォルトの名無しさん
2012/12/31(月) 10:37:49.710846デフォルトの名無しさん
2012/12/31(月) 11:02:01.60例
1.ファイルを一時ファイルにコピーする。
2.もとのファイルの名前で新しいファイルをつくる(書込み用)
3.一時ファイルを1行ずつよんで、該当する部分を変更して書込み用ファイルに出力する。
0847デフォルトの名無しさん
2012/12/31(月) 11:13:30.77文字列中で pattern にマッチした最初の部分を文字列 replace で置き換えた文字列を生成し返します
gsub(pattern, replace)
文字列中で pattern にマッチする部分全てを文字列 replace で置き換えた文字列を生成し返します
リファレンスマニュアル
0848デフォルトの名無しさん
2012/12/31(月) 11:15:02.140849デフォルトの名無しさん
2012/12/31(月) 11:17:08.53rubyで考えるよりも早いんじゃない
0850デフォルトの名無しさん
2012/12/31(月) 11:18:17.520851デフォルトの名無しさん
2012/12/31(月) 18:59:24.83>>847の方法を使う必要がある
フィルタ的に使うのに意外と
手間がかかるよねrubyは
0852デフォルトの名無しさん
2012/12/31(月) 19:26:52.360853デフォルトの名無しさん
2012/12/31(月) 20:07:43.050854デフォルトの名無しさん
2012/12/31(月) 20:09:58.73Windows版なんて聞いたことないし、あったとしても
どこの馬の骨が作ったかわからないフリーソフトレベルだろうから
大事なテキスト処理は任せられないなあ
多くのユーザーに揉まれたUnixツール群は偉大だ
0855デフォルトの名無しさん
2012/12/31(月) 20:36:15.570856デフォルトの名無しさん
2012/12/31(月) 21:38:07.260857デフォルトの名無しさん
2012/12/31(月) 21:44:25.90windowsでコンパイルすればいいだろ。バイナリしか提供されないノンフリーソフトじゃないんだから。
0858デフォルトの名無しさん
2012/12/31(月) 22:07:57.600859デフォルトの名無しさん
2013/01/01(火) 00:42:03.470860デフォルトの名無しさん
2013/01/01(火) 03:45:47.57死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
0863デフォルトの名無しさん
2013/01/02(水) 18:17:46.23俺も今そこで手が止まってる
nokogiriで特定の動的ページから複数のサイトをランダムにスクレイピングしたくて
パースする時にファイルの宣言文を見てエンコードする文字コードを自動で決めてくれるnokogiriの仕様に依存してるわけだけど
shiftjisエンコードされてて機種依存文字が入っていた場合だと何故かエンコードエラーが出るんだよなー
解決策として
・nokogiriが使ってるiconvを機種依存文字対応のものにする
・Mechanize経由でパースすれば多分大丈夫
みたいのが調べて出てきたけどiconvってそもそも何ぞや?
標準添付か組み込みのライブラリで解決できる方法は無いんか?とか
理解しないといけないことが多すぎて何か腑に落ちなくてもやもやイライラしてる
三が日までに何とかしないと社内で無能扱い確定だ
年明けに何でこんなことやってるんだろ…
0864!omikuji
2013/01/02(水) 18:19:55.280865デフォルトの名無しさん
2013/01/05(土) 10:17:04.79海外 Python
何でこんな中途半端なRubyなんて使ってるクズがいるんだろうな
0866デフォルトの名無しさん
2013/01/05(土) 10:21:05.96Ruby厨がMacBook持って萌えアニメやOSS信仰してるあたりで反吐が出る
iphoneいじってRuby会議ですか?
くだらねー小さい技術ネタで盛り上がって何も生産性のない話題っすよね
railsもオワコンだし
Rubyはオワコンなんだよ
その現実を受け止めよう
現実が変わることはない
0867デフォルトの名無しさん
2013/01/05(土) 11:34:12.67ここでそうやっていくらdisっても、現実は変わらないよw
現実を受け止めようw
現実が変わることはないw
0868デフォルトの名無しさん
2013/01/05(土) 13:13:22.730869デフォルトの名無しさん
2013/01/05(土) 18:34:26.78http://tinyurl. com/9w97424
0870デフォルトの名無しさん
2013/01/06(日) 17:04:45.070871デフォルトの名無しさん
2013/01/06(日) 17:05:16.480872デフォルトの名無しさん
2013/01/06(日) 17:24:46.140873デフォルトの名無しさん
2013/01/06(日) 17:25:26.680874デフォルトの名無しさん
2013/01/06(日) 17:25:57.720875デフォルトの名無しさん
2013/01/06(日) 17:27:08.680876デフォルトの名無しさん
2013/01/06(日) 17:42:53.520877デフォルトの名無しさん
2013/01/06(日) 17:43:40.640878827
2013/01/11(金) 21:44:54.56あれからちょっと手を動かせなくて久しぶりにレス頂いていた書き込みを読み結果が表示出来る様になりました。
式展開、インスタンス変数と言う言葉を学習しました。。。(恥
ですが表示結果の全てを出力したいのに一行しか出て来ない状況でどの様に記述するのが正しいのか、
もしくはもっと別の記述方法があるのかご指導頂きたく…
get '/' do
content_type :json
hoge = Rack::Utils.parse_query(@env['rack.request.form_vars'])
param = params['keyword']
keyword = param
escaped_keyword = CGI.escape(keyword)
doc = Nokogiri.HTML(open("http://www.google.co.jp/search?&num=10&hl=en&safe=off&client=safari&tbo=d&rls=en&source=lnms&tbm=nws&sa=X&tbs=qdr:h24&ie=UTF-8&oe=UTF-8&q=#{keyword}"))
start = "["
doc.search("div#search ol li").each_with_index do |li, idx|
href = ""
html = ""
link = ""
li.search("h3 a").each do |alink|
0879827
2013/01/11(金) 21:46:29.62href = alink.attribute("href")
URI.parse(href).query.split(/&/).each do |str|
strs = str.split(/=/)
link = strs[1] if strs[0] == "q"
"asdfasfdasfdafd"
end
html = alink.inner_html
end
next if "#{href}" !~ /^¥/url/
@@_beg ="{"
@@_dom = "¥"domain¥":¥"#{link.split("/")[2]}¥","
@@_url = "¥"url¥":¥"#{link}¥","
@@_t = "¥"title¥":¥"#{html}¥""
@@_clo = "},"
end
@@_null = "{¥"null¥":¥"null¥"}"
@@_close = "]"
res =[start,@@_url,@@_t,@@_clo,@@_null,@@_close]
end
笑っちゃう様なコードかもしれませんが、ここまで来るのに一苦労でした。難しいですね。
またこの状態だと1ペアの結果しか返せずコンソールに表示される10ペア全ての結果を返したい感じです…
0880デフォルトの名無しさん
2013/01/11(金) 22:27:09.41rackup すると
vendor/bundle/ruby/2.0.0/gems/rack-1.4.3/lib/rack/builder.rb:129:
in `to_app': missing run or map statement (RuntimeError)
って言われるんだけど?
あと、なんでクラス変数(@@....)を使う?
0881デフォルトの名無しさん
2013/01/11(金) 22:41:49.86はい、sinatraで試しています。
私の環境ではエラーが出てないのですが、、
クラス変数ですか、
インスタンス変数?を使ったつもりでした 汗
0882デフォルトの名無しさん
2013/01/12(土) 01:01:01.55URI.parse....each のブロックで @@_xxx に結果を放り込んでるけど、これが毎回上書きされてるから最後に解析された結果しか出力されな
い。
a = 0; 10.times { |i| a = i }; [a]
#=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
にならないのと一緒で。
思い通りの動作にするなら
a = []; 10.times { |i| a.push i }; a
みたいに配列に放り込むようにすればいい
あと、今回の場合、クラス変数(@@foo)は勿論、インスタンス変数(@foo)も使う必要ないで
0883デフォルトの名無しさん
2013/01/12(土) 01:19:57.51有り難うございます!
ここのブロック周りはコピペを弄ってる状態に近くてアドバイス内容の意味までは的確に理解出来ませんが今から解読しながら頑張ってみます。
全く先に進めなかったのでこれでまた前進できるかもしれません。
0884827
2013/01/12(土) 01:35:21.11今ソースを見ながら考えてます。
ですが具体的にどこに何を書くのかさっぱり分らず
この感じだと今迄と同様一日以上悩んでもよく分らないパターンになりそうです。
もし宜しければ、参考になりそうなホームページ等あったら教えて頂きたいです。
今まで調べたキーワードは以下で、それに関連するページは一通り見てきました。
変数 式展開, インスタンス変数 展開, 配列展開, 連想配列, 配列 変数 展開
既に関連ワードがあったら見たけど理解出来てないと言う感じです。
何が分らないのかが分らない感じも多少あります。Orz.
0885827
2013/01/12(土) 04:50:36.39今日は寝よう。。
0886デフォルトの名無しさん
2013/01/12(土) 10:03:54.82何故それで動いてるのか1行1行理解して進まなきゃダメやで
0887デフォルトの名無しさん
2013/01/12(土) 11:07:23.43・ メソッドの作り方使い方
が入ってない気がする
行数が10行超すか、製作日数が1日を超したなら、一見冗長になったように感じたとしても最低限メソッドにするべき
def ユーザー入力からキーワードを抽出して返す
end
def ぐぐってHTMLを返す(keyword)
end
def HTMLをNokogiriでパースして生データにして返す(html)
end
def HTML由来の生データをHTML出力用に整形する(data)
end
def 受け取った文字列をRackで表示するだけ(output)
end
keyword = ユーザー入力からキーワードを抽出して返す
html = ぐぐってHTMLを返す(keyword)
data = HTMLをNokogiriでパースして生データにして返す(html)
output = HTML由来の生データをHTML出力用に整形する(data)
受け取った文字列をRackで表示するだけ(output)
なんも考えてないメソッド構成だが、これのいいとこはスクリプト作成中にいちいちブラウザから入力したりGoogleにアクセスしたりしなくてもいいように作るのが簡単なとこだ
# keyword = ユーザー入力からキーワードを抽出して返す
# html = ぐぐってHTMLを返す(keyword)
html = File.open(事前にHDDに保存していたHTMLファイル,'rb'){|f| f.read}
Nokogiriのパースの部分がうまくいってない気がするなら、スクリプト途中でdataをpなりputsなりして表示させて確かめ、exitで終了させればいい
data = HTMLをNokogiriでパースして生データにして返す(html)
p data
exit
0888デフォルトの名無しさん
2013/01/12(土) 12:23:29.46メソッドの作成はRubyの基礎覚えたら極力早いうちからやるのがおすすめ
0889デフォルトの名無しさん
2013/01/12(土) 12:27:16.51メソッドだらけになっちまう。せめて100行で
0890デフォルトの名無しさん
2013/01/12(土) 12:34:19.57「自作メソッド多過ぎ! わけわからん! 耐えられん!」とか思ってから勉強すると
実際の困難を解決する手段としてすんなり覚えられる
オブジェクト指向とかインスタンスとかそのへんの概念はとりあえず飛ばす
ひとまず、メソッドをまとめて一気に(または場合分けで)順次起動するシステムとしてクラスを使う
>>889
>>887も言ってるが、処理がごっついかどうかにもよるかと
自前で正規表現して自前で埋め込み文字列するだけならメソッドにする必要はないかも
今回のようにopen-uriでWebアクセスしたりNokogiriで面妖な抽出をしたりHTMLの変なデータ作ったりRackでDSL()する場合は
元スクリプトが10行程度でもいくつかメソッドにしたほうが気楽かもしんない
本当の"書き捨て"のスクリプトなんてのはそうそうあるもんじゃない、特に初学者
0891デフォルトの名無しさん
2013/01/12(土) 13:36:45.310892デフォルトの名無しさん
2013/01/12(土) 13:37:30.35俺なんて1行のメソッド山ほど作るが…
0893デフォルトの名無しさん
2013/01/12(土) 13:38:10.040894デフォルトの名無しさん
2013/01/12(土) 13:50:07.31コメント、def、内容、endを1行で書くのか。
0895デフォルトの名無しさん
2013/01/12(土) 16:04:42.10それは会社の新人研修でやってください
0896デフォルトの名無しさん
2013/01/12(土) 16:40:11.080897デフォルトの名無しさん
2013/01/12(土) 16:47:00.990898デフォルトの名無しさん
2013/01/12(土) 17:38:15.45いやattr_readerの本質的な動作を知らなかった頃にはやった事はあるけど、そういう意味じゃねえw
0899デフォルトの名無しさん
2013/01/12(土) 18:05:50.100900デフォルトの名無しさん
2013/01/12(土) 21:12:34.33やっと・・・やっとeach文が使えるようになった
すごい便利、すごい嬉しい、
一個づつ処理していた悪夢からやっと開放された達成感夢がひろがりんぐ!
でもreturnがワケワカメ
どう便利なのかもワカラン
けど沢山つかわれてるから便利そうな感じはする
eachの比じゃないくらいそこらじゅうで使われてる。でも意味わからん。
return分の魅力を教えてください・・・やり方は自分で調べます未知すぎてモチベが
0901デフォルトの名無しさん
2013/01/12(土) 21:29:37.04扱う環境が特殊でちと説明し辛い
0902デフォルトの名無しさん
2013/01/12(土) 21:36:10.68とりあえず、Rubyでeach文と書いてある解説があったらそれは似非で君にとって有害文書だから即燃やせ
each文という言葉を知っているということは他の何らかのプログラミング言語を知っているということだ
それでいて式と文と制御構造の違いに関心を払わないということは、あまりに危険な兆候
0903デフォルトの名無しさん
2013/01/12(土) 21:40:23.89必要性を感じないならそのまま使わずに書き続けていけばいいと思う
そのうちちょっと長いプログラム書こうと思ったらすぐ欲しくなるだろうし
あとRGSSはこっちで聞いたほうがいいんじゃない?
http://www.tekepon.net/fsm/modules/reqbb/
まあ言語からちゃんと勉強しようという意気を持った人をスクリプト乞食の掃き溜めに送り込むのは心苦しいけどw
0904デフォルトの名無しさん
2013/01/12(土) 21:43:45.660905デフォルトの名無しさん
2013/01/12(土) 21:45:03.70(´;ω;`)
0906デフォルトの名無しさん
2013/01/12(土) 22:05:26.26>>902 手当たりしだいググって○文という表現が脳に浸透してしまたヨ
>>903 はいメリットというか何してんの状態で、必要性以前の問題ですハイ
でも理解してないとスクリプト改変する時とかに何してるかさっぱりで
必要性としてはそこらへんの理由です。なにが良くてreturn乱発してんの?という疑問が糸口になるかなぁと
0907デフォルトの名無しさん
2013/01/13(日) 00:48:52.28メソッド内で最後に評価された式が戻り値となるRubyにおいて
returnの存在理由はメソッドの中断、もしくは式が戻り値であることの明示にある
returnは「戻す、返す」という意味でもあるので戻り値の明示としやすい
例えばただ変数だけ書かれたなら戻り値だと皆判るが
最後の式が代入式など、副作用を伴う場合には
副作用だけが目的なのか、戻り値まで意図してるのか判りにくい
なので最後でも敢えてreturnと書いて
「この式は戻り値まで意図してこの式を書いたのですよ」
との意思表示としたりとかね
また他の言語出身者なら、他言語には戻り値にreturn必須の言語もあるので
return書かないと自分で分からなくなる、という人もいると思う
中断については、Rubyには処理の中断方法が様々にあって
場面に応じて使い分けるものだと思う
・ループやイテレータを終了するbreak
・式を評価しそれを戻り値としてメソッドを中断するreturn
・例外を発生させて処理を中断するraise
・例外を使わないことで「異常ではない大域脱出」を行わせるcatch/throw
0908デフォルトの名無しさん
2013/01/13(日) 01:00:14.23ネスとした外側のループをnextしようとすると途端に酷いコードになる。
0909デフォルトの名無しさん
2013/01/13(日) 01:06:41.960910デフォルトの名無しさん
2013/01/13(日) 18:43:00.41invalid、undefオプション指定してるのに何故かArgumentError invalid〜が出る
色々調べたらどうやら文字列の文字コードとencodeで指定した文字コードが同じだったら変換処理してくれないんだな
サポート終了したiconvで事なきを得たけどこの仕様はちょっと酷すぎだよrubyたん…ふぇぇ
0911デフォルトの名無しさん
2013/01/13(日) 20:50:36.67エンコードをいじらず悪い文字を置換したいだけっていう要望は出てるけど
next minor ってことは早くてもver 2.1.xか。
http://bugs.ruby-lang.org/issues/6752
0912デフォルトの名無しさん
2013/01/14(月) 13:54:30.17String#force_encodingを使えるようにする方法をご存じない
ですか?。スクリプトを1.8系にも対応させたいのですが、
修正が要るのはそこだけなので。
0913デフォルトの名無しさん
2013/01/14(月) 14:17:21.56特にはないです
if str.respond_to? :force_encoding
str.encode(...)
else
require 'nkf'
NKF.nkf(...)
end
のようにひとつひとつ自前で書くしかない
実際は MyModule::Util.encode_string のようにメソッドにしてそれに任せるが、
エンコーディング処理したいとこ全てに挟むという本質は同じ
かなり醜くなることを覚悟する必要がある
0914デフォルトの名無しさん
2013/01/14(月) 14:26:39.240915912
2013/01/14(月) 14:35:37.27どうもです。1.8.7に対応させておくとMac OSXに標準で
入っているから、コマンドラインアプリとして使ってもらい
やすいんですよね・・・。
やっぱり汚くいくしかなさそうです。
0916デフォルトの名無しさん
2013/01/14(月) 15:31:50.86Ruby的ではあろう。(当然必要な範囲での実装に限って)
0917デフォルトの名無しさん
2013/01/14(月) 17:43:48.18それはいちばんやってはいけないこと
0918デフォルトの名無しさん
2013/01/14(月) 18:17:42.20naze?
0919デフォルトの名無しさん
2013/01/14(月) 18:19:57.740920827
2013/01/14(月) 21:11:34.56やり方を模索し一旦ファイルへ書き出す所まで出来ました。メソッドも一つ作ってみました。
今はそのファイルの中に入ったものを表示させようとしてます。
# 前回の続きです。
next if "#{href}" !~ /^¥/url/
@@_beg ="{"
@@_dom = "¥"domain¥":¥"#{link.split("/")[2]}¥","
@@_url = "¥"url¥":¥"#{link}¥","
@@_t = "¥"title¥":¥"#{html}¥""
@@_clo = "},"
@@_file_name = "result.txt"
File.open(@@_file_name, 'a'){|file|
file.write "#{@@_url}#{@@_t}¥n"
}
end
def res
f = open ("result.txt")
puts f.read
f.close
end
"#{res}"
end
最後に開いたファイル内確かに文字列あるはずなのですが、相変わらずブラウザが真っ白です。
メソッド内でputsを外しても同様の結果になってしまいます。
0921デフォルトの名無しさん
2013/01/14(月) 21:38:11.01とりあえずはSinatra使うな
そのせいで(あなたにとっての)ブラックボックスになっている
まず、スクリプトに値を変数でベタ書きしておいて、それの加工データ文字列をコンソールに表示するスクリプトを作れ
完璧に動作することがわかったら、次は、Sinatraによる、Webブラウザ経由のユーザー入力をそのまま出力するスクリプトを作れ
それもできたら、そのSinatraスクリプトのユーザー入力データをコンソールスクリプトのベタ書き変数に代入し、
コンソールスクリプトの加工済みデータ文字列をSinatraの出力に渡せ
「ユーザーの入力をSinatra経由で受け取り、内部で加工して、SinatraでWebブラウザに表示する」スクリプトの完成だ
0922デフォルトの名無しさん
2013/01/14(月) 21:40:35.35どこぞから拾ってきたソースつなぎ合わせてプログラム作るのは結構だが
言語の基礎くらいは理解しておかないと動くものは作れないよ
0923デフォルトの名無しさん
2013/01/14(月) 21:50:00.38HTTPとCGIに熟知した人が「手順めんどくせえ!」と思って楽するために使うものであって
HTTPとCGIを知らない人が「勉強めんどくせえ!」と思って楽するために使うものではない
0924827
2013/01/14(月) 22:10:29.00>>921
Sinatraは>>923さんも言ってる様にちょっと私のレベルで使うべきものではない
んですね。汗 後は文字列周りの処理も全然理解出来てないと痛感します。
以前他の方には変数を文字列として展開、で前回表示出来る様になったものの今回
メソッドを作って展開しても全く文字が出て来なくて違いも分らない感じです。
今の自分にはおっしゃる通り1つずつつくって試していくしかないですね。
>>922
まず先にやりたい事がどうゆう方法で出来るのか見て後から1つずつ読み解いて行こうと考えてました。
基礎は本も買って学習してますが、今回やろうとしてる事はちょっと今のレベルからだとかなり難しい
状況なんだなと思ってきました。
>>923
それは貴重な意見です。railsだと当然難しすぎるし、もっと簡易な感じでと探しまわった結果
sinatra見つけたのですが、本来知ってる方が使うべき物だったんですねありがとうございます。
0925827
2013/01/14(月) 22:46:49.57と言うのは聞いた事あるな…と思い掲示板の作り方を見ていた所そこにヒントが
ありました。
f = open ("result.txt")
msg = f.read
f.close
"#{msg}".to_json
msgを用意してその中に f.read を入れて最後(ここは適当になんとなく入れました)
.to_jsonとこの様な記述に変えたところ正常にデータを取得する事が出来ました。
どんどん上書きされてかない様に一時ファイルに作成するようにすれば一旦は意図した
動作出来そうです!皆さんから色々言われてここに行き着けたので有り難う御座います。
これでやっと時間が取れるので指摘頂いた全てバラして順に処理をさせるやり方等
これから順に学習して行こうと思います。
(この期間でどんな形でもいいからやりきる!と当初自分へ言い聞かせてプログラミングを開始した為)
0926デフォルトの名無しさん
2013/01/15(火) 07:36:25.410927デフォルトの名無しさん
2013/01/15(火) 11:13:53.50その調子だと将来OSXのRubyが1.9に移行したとき地獄を見ると思う
今からrvmを入れてでも1.9で書いてみるべき
0928デフォルトの名無しさん
2013/01/15(火) 11:19:10.17Rubyで定番のwikiを教えてください
0929デフォルトの名無しさん
2013/01/15(火) 12:02:49.84Githubのwiki部分だ
Ruby/Railsでwikiエンジンってあんまり活発じゃない印象
0930デフォルトの名無しさん
2013/01/15(火) 12:31:04.600931デフォルトの名無しさん
2013/01/15(火) 13:24:20.320932デフォルトの名無しさん
2013/01/15(火) 13:48:08.04PHP製が機能的で便利なのなら、PHP製のアプリケーションを使えばいい
なんでもかんでもRubyというのは残念な人のやること
0933デフォルトの名無しさん
2013/01/15(火) 14:23:44.92自作でもないものを無理して使う必要はないよね
地元の農作物で無理しておいしくない加工品作ってる自治体のようだ
農作物は品種によって「向く料理」「向かない料理」があるので、素直にそれに従え
0934デフォルトの名無しさん
2013/01/15(火) 18:48:25.180935デフォルトの名無しさん
2013/01/15(火) 18:51:38.340936デフォルトの名無しさん
2013/01/15(火) 18:58:50.510937デフォルトの名無しさん
2013/01/15(火) 19:41:21.95Rubyスレにはプログラミングをしたことのない人が居座っています
自分がレスできる話題や流れを虎視眈々と狙っています
いいかげん慣れてください
0938デフォルトの名無しさん
2013/01/16(水) 01:51:41.33初心者が最初に触った方がいいって意味での優劣だったらPHPよりRubyじゃねーの
PHPって楽だけど型付け糞だし書いててストレス溜まるしコード書く楽しみが得られない
といいつつ仕事ではRubyは滅多に使わずPHPの案件が多いというジレンマ
0939デフォルトの名無しさん
2013/01/16(水) 05:04:46.800940デフォルトの名無しさん
2013/01/16(水) 08:02:38.59どの言語がいいか、というのは不毛な罵り合い(論争ですらない)になりやすいから余り関わりたくないが、
言語xxxが気に入ってる者の数 * 初心者をアシストする者の割合、が多いかどうかが結構重要だと思う。
かく言う自分も、日常的に使う言語は5~6種類あるんで、時々初心者スレ見て、疑問への回答を書き込んでる。
理解していたつもりのことが、サクッと説明出来なかった時なんかは、結局は自分にも役立ってる。
0941デフォルトの名無しさん
2013/01/16(水) 08:36:03.81PHPとVBは双璧ですからな
0942デフォルトの名無しさん
2013/01/16(水) 11:19:26.28こういう話はたまにネットで流れてるけど具体的に聞いた事が一度もない
0943デフォルトの名無しさん
2013/01/16(水) 11:29:59.370944デフォルトの名無しさん
2013/01/16(水) 13:05:23.00デザイン兼用のPHPerの尻拭いをさせられる…細かいけどこういうとこでいちいちストレスが溜まる
0945デフォルトの名無しさん
2013/01/16(水) 13:32:24.68難癖(本人的には論破)するのが目的だからな
する気も起きんわ
0946デフォルトの名無しさん
2013/01/16(水) 14:28:27.64>難癖(本人的には論破)するのが目的だからな
そういうのを惨めだと感じない人は、感覚が違うんだから無視推奨。
なにか得られるかもと思ってスレ覗いてる大勢が居るだろう、ぐらいの気持ちで普通に書き込めばいいんじゃまいか?
0947デフォルトの名無しさん
2013/01/16(水) 22:36:37.380948デフォルトの名無しさん
2013/01/17(木) 00:25:12.20Perlは記号別に意味を持たせちゃったりリファレンス絡みとかで
そもそもアレがないと根本的にデータ構造が表せなくなってるから仕方ないが
0949デフォルトの名無しさん
2013/01/17(木) 10:48:30.930950デフォルトの名無しさん
2013/01/17(木) 10:53:08.100951デフォルトの名無しさん
2013/01/17(木) 11:08:36.28…まあ、もしかしたらあるかもしれないけど、Rubyだというのが見えるわけでもRubyが使えるわけでもないのでなんとも
もしかしなくてもサーバ上のRubyで動作するCGIゲームの配布を求めているのなら、
一般的にそういうものはないと記憶してるので、ゲーム製作板あたりにでも行って作ったりねだったりするとええ
ゲ製作技術
http://toro.2ch.net/gamedev/
0952デフォルトの名無しさん
2013/01/17(木) 11:21:15.620953デフォルトの名無しさん
2013/01/17(木) 11:31:33.510954デフォルトの名無しさん
2013/01/17(木) 11:35:09.050955デフォルトの名無しさん
2013/01/17(木) 11:50:48.80Rubyの経験はぶっちゃけ不要です
なぜなら、Rubyは"簡単"だから
就職してから社内での使い方を学んでも充分間に合う
どうせならHTTPとかCSSとかFlashとか顧客対応とかレベルデザインとかの、Rubyより数倍数十倍の時間がかかる技術の経験を積んできてください
もっぺん書くけど、Rubyの事前経験は不要です
0956デフォルトの名無しさん
2013/01/17(木) 11:56:44.40中国語と韓国語に決まってるだろうが
0957デフォルトの名無しさん
2013/01/17(木) 12:02:30.220958!omikuji
2013/01/17(木) 12:20:46.650959デフォルトの名無しさん
2013/01/17(木) 12:32:27.50ひどい褒め殺しを見た
0960デフォルトの名無しさん
2013/01/17(木) 12:40:49.33ケーキ食べるのが好きだからってヤマザキパンに就職したって意味ねえ
0961デフォルトの名無しさん
2013/01/17(木) 13:48:22.43コンビニで現金収入が1日60万あっても手元には5000円くらいしか残らないのと似たような感覚
あのお札の束はどこ行っちゃったのみたいな
0962デフォルトの名無しさん
2013/01/17(木) 13:53:08.64そういう目的だったら、Pythonの方がマシ。
Rubyは偽装Lispだから、アプリ言語が必要なときは便利。
0963デフォルトの名無しさん
2013/01/17(木) 14:11:33.88でも日本でPython使ってる仕事って見た事ないんですよ求人とかで
0964デフォルトの名無しさん
2013/01/17(木) 14:16:01.140965デフォルトの名無しさん
2013/01/17(木) 15:16:33.13ただこの手のケースではrubyのコード自体を書くことはほぼ無いし、
本番環境ではrubyはほぼ仕事してなかったりする
そして実際重要なのは、CoffeeScriptのコードでもなく、絵を書くデザイナーだったり
0966デフォルトの名無しさん
2013/01/17(木) 15:42:41.20コード書き担当はみんなRubyが使える状態であることが多い(Excelのマクロ状態)
人員募集するとしたら、Rubyコーディング以外の業務や役職でだろうな
0967デフォルトの名無しさん
2013/01/17(木) 16:32:26.36探したらgemとかあるかもしれませんが
require 'win32ole'
shell = WIN32OLE.new("WScript.Shell")
puts shell.SpecialFolders("MyDocuments")
puts shell.SpecialFolders("Desktop")
使用できる特殊フォルダは
http://msdn.microsoft.com/ja-jp/library/cc364437.aspx
とか参照
Win32APIでがんばっても取れます
Shell32.dllのSHGetFolderPath関数を直接call
しかし、面倒くさい
0968デフォルトの名無しさん
2013/01/17(木) 16:38:23.02物理学?落下学?数学に疎くてなんてググっていいか分からず探しきれません
0969デフォルトの名無しさん
2013/01/17(木) 16:46:37.690970デフォルトの名無しさん
2013/01/17(木) 16:47:58.42system("notepad")
というコードを
コマンドプロンプトで ruby test.rb
でrubyスクリプトを実行すると
メモ帳が起動しますが、メモ帳が閉じるまでrubyスクリプトが待機しています
メモ帳を終了すると実行したrubyスクリプトも終了します。
待機せず、メモ帳が起動したかどうかは知らなくても良いので、コードを実行したらそのままrubyスクリプトを終了させる方法はございませんか?
0971デフォルトの名無しさん
2013/01/17(木) 16:57:25.540972デフォルトの名無しさん
2013/01/17(木) 17:07:24.230973デフォルトの名無しさん
2013/01/17(木) 19:02:06.180974デフォルトの名無しさん
2013/01/17(木) 21:13:18.49ぐぐるなら 弾道計算 とか 放物線 とか 自由落下 とかかなぁ
計算するだけなら keisan.casio.jp に式もいろいろあるぞ。
0975デフォルトの名無しさん
2013/01/17(木) 23:57:33.92Ruby1.9.3に対応した定番のIDEというのはありますか?
・requireする名前が分からないため
・メソッドに必要なrequireがわからないため
・オブジェクトのメソッドを把握してなくても補完から補いたいため
0976デフォルトの名無しさん
2013/01/18(金) 00:02:26.75もしあなたがなにかIDEを既に利用していて、そのIDEがRubyに対応しているのなら、そのIDEでRubyプログラミングをするとよいでしょう
0977デフォルトの名無しさん
2013/01/18(金) 00:04:59.38ある程度のRubyの知識がある上で使うならともかく
そこまで依存出来るようなのはないと思っていい
素直にエディタの隣にマニュアル広げてたほうが信頼出来る
0978デフォルトの名無しさん
2013/01/18(金) 00:18:30.75抑えるとこちゃんと抑えてるわ
0979デフォルトの名無しさん
2013/01/18(金) 14:51:01.270980デフォルトの名無しさん
2013/01/18(金) 15:11:20.44ブログもなんかてきとーに技術関連のを書いてなんとなくアクセス数もあり、
メーリングリストで検索すると自作ライブラリや投稿者名が何回か出るくらい
が妥当
ただ出席して見るだけならそんなんでなくてもOK
0981デフォルトの名無しさん
2013/01/18(金) 15:17:41.840982デフォルトの名無しさん
2013/01/18(金) 15:27:29.08ありがとうございます
0983デフォルトの名無しさん
2013/01/18(金) 22:37:03.51require "rubygems"
require "fcgi" ここでエラーになります。
irbからはrequireできるのですが、、、
0984デフォルトの名無しさん
2013/01/19(土) 17:56:58.630985デフォルトの名無しさん
2013/01/19(土) 18:01:32.912.0で試したところ、動作しませんでした。
1.8は余命半年とのことでちょっと焦ってます。
今のところ、こんな対応を考えているのですが、
(1)地道に2.0対応する
(2)JRubyの1.8互換モードで動作させる
実は自動変換するツールなどあれば教えていただきたいです。
0986デフォルトの名無しさん
2013/01/19(土) 18:07:16.91これから勉強しようと思って1.8を入れたところなんですがショックです
0987デフォルトの名無しさん
2013/01/19(土) 18:35:14.47あれは喋るネタがあってなんぼであって、登壇する事が目的じゃないような
でないと、就活・売名のためのステージになってしまうよ
0988デフォルトの名無しさん
2013/01/19(土) 20:13:04.02ツールは知らないが
・JRubyで動作させる場合のリソース(構築時間、費用、互換性問題の評価、性能)
・Ruby2.0以降が多くなってきても、今のままで使えるか?(機能・性能の改修が必要か)
で判断すればいいんでは?
フルスペックでの動作必須、or技術へのキャッチアップが必要なら、今のうちに2.0対応を始めたほうがいい。
一部動かなくてもいい、or長期間使わないなら、互換モードで。
できるだけ数値化しての比較が吉。
ローコストで済まして、足りない機能はRuby以外(手動も含む)で補うという発想もある。
0989デフォルトの名無しさん
2013/01/19(土) 20:26:05.68Rubyコミュに限ったことじゃないけど
ボッチだのフリーターだのといった弱者属性を
ファッショナブルに利用する馬鹿を許している時点で
意識の高いガチ無能層にタカられても同情できない感がある
0990デフォルトの名無しさん
2013/01/19(土) 21:55:20.690991デフォルトの名無しさん
2013/01/20(日) 04:30:24.94遊びでやってんのか?
0992デフォルトの名無しさん
2013/01/20(日) 08:22:27.51情けない表現であればあるほど、業務で使う人はいなくなるはずだから、業務的な被害も減る
0993デフォルトの名無しさん
2013/01/20(日) 08:40:52.23Ruby 初心者スレッド Part 51
http://toro.2ch.net/test/read.cgi/tech/1358636526/
0994デフォルトの名無しさん
2013/01/20(日) 09:13:46.520995デフォルトの名無しさん
2013/01/20(日) 09:52:19.600996デフォルトの名無しさん
2013/01/20(日) 10:27:23.73Delphi
0997デフォルトの名無しさん
2013/01/20(日) 18:18:44.62Rubyは 1.8 から 1.9 の移行期に遭遇した
Windows で Ruby を使う意義が薄れている
0998デフォルトの名無しさん
2013/01/20(日) 19:04:40.55次スレ
Ruby 初心者スレッド Part 51
http://toro.2ch.net/test/read.cgi/tech/1358636526/
Ruby 初心者スレッド Part 51
http://toro.2ch.net/test/read.cgi/tech/1358636526/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。