トップページtech
1001コメント374KB

Ruby 初心者スレッド Part 40

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/11(土) 15:46:15
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

★注意★ Ruby 1.9.2 は初心者には若干時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
 文字エンコーディング等の外部基礎知識が必要な上、不完全対応の第三者ライブラリでの問題の切り分けが手間です。
 迷う点の少ない1.8.7に習熟→おもむろに1.9.2の変更点のみ重点学習、とすればスムーズに移行できるでしょう。

関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・エラーメッセージの共通そうな部分やエラーの出るモジュール名でググる
 ・マニュアルで引っかかったクラスの記述を探す http://www.ruby-lang.org/ja/man/
 ・FAQを一応読む http://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
 ・エラーメッセージ(自力で訳さずなるべくそのままで)
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
回答してくれた人には「ありがとう」のひとことをいってあげて。

■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
0554デフォルトの名無しさん2011/01/11(火) 07:15:52
>>553
C 言語には「存在しない」が。全部値渡しだぞ、あれ。渡してる値が整数だったりポインタだったりするだけだ。
C++ や Pascal には参照渡しがある。
0555デフォルトの名無しさん2011/01/11(火) 07:29:37
というか参照渡しとはなんぞやという面倒な話に

ある言語の概念を他の言語に無理矢理適用しようとするのやめようぜ
0556デフォルトの名無しさん2011/01/11(火) 07:39:52
やっぱり紐だよ紐。
変数は荷札。引数は荷札と紐を渡す。
0557デフォルトの名無しさん2011/01/11(火) 07:47:14
ユビキタスシステムが普及して万引きが減ると良いね
0558デフォルトの名無しさん2011/01/11(火) 09:19:51
やたー
名前渡しできたよー

def namae(arg)
  eval "#{arg} = 999"
end

$hensu = 1
namae :$hensu
p $hensu #=> 999
0559デフォルトの名無しさん2011/01/11(火) 10:12:05
Cのポインタ渡しは参照渡しだろうという説はある
Cには参照渡しが「ないからこそ」、Cでのポインタ渡しは
ポインタ以外を渡す行為と対称して参照渡しと呼ばれるのだな

Cだけの世界では、>552的な意味で間違ってはいない

まあ、汎用な計算機科学っぽい事象かと思ったら
特定の言語実装べったりのローカル概念でしたというのは
稀によくある
0560デフォルトの名無しさん2011/01/11(火) 10:31:15
単に誤用してるだけだな。
たまに俺の用法で辞書書き換えろとか言い出す困ったちゃんもいるが。
0561デフォルトの名無しさん2011/01/11(火) 11:13:22
> Cには参照渡しが「ないからこそ」、Cでのポインタ渡しは
> ポインタ以外を渡す行為と対称して参照渡しと呼ばれるのだな

呼ぶな。

C++ には本物の参照渡しがあるし、早速混乱するぞ。
0562デフォルトの名無しさん2011/01/11(火) 11:18:39
Cしかやらないのなら問題はないし、Cで終わる人も多かろう

というか値渡しだって「値を渡してるから略して値渡しなんだよね」と認識してる人が大多数だろう
「ポインタという名前の参照用情報を渡してるから略して参照渡しと呼ぶね」と認識することを責めることはできん
0563デフォルトの名無しさん2011/01/11(火) 11:26:34
C++もやる人と同じプロジェクトに放り込まれて混乱するわけですな。
0564デフォルトの名無しさん2011/01/11(火) 11:26:43
めんどくせえ…

 ・ 不用意に略語にするな
 ・ あなたのプログラミング上の造語はほぼ確実にどっかの専門用語だ
 ・ 正しい語を使って話せ

でいすか
0565デフォルトの名無しさん2011/01/11(火) 11:28:42
お前ら一体何十回同じ話ししてんのかと
技術解説+理解を促進させるサンプルがあれば
不正確な比喩表現なんて必要ない
0566デフォルトの名無しさん2011/01/11(火) 11:34:37
>>565
説明表現を考えているわけではない

「それは〜〜が〜〜で〜〜〜なわけだ」
「なるほど○○なんですね」 ← これ
「いや違う」

をなんとかしようなんとかできんなという話だ
0567デフォルトの名無しさん2011/01/11(火) 11:37:37
>>566
いや違う〜は〜って意味だから覚えてね、でOKじゃん。
0568デフォルトの名無しさん2011/01/11(火) 11:38:11
読むだけ時間の無駄。
0569デフォルトの名無しさん2011/01/11(火) 11:43:20
基本、Cしか知らない人はRubyしか知らない人並みに害悪を撒き散らす
適当な壷の中にでも封印しておくのがよい
0570デフォルトの名無しさん2011/01/11(火) 21:43:01
>>556
紐ってどういう例え?
0571デフォルトの名無しさん2011/01/11(火) 21:45:22
その話もう終わってるから
0572デフォルトの名無しさん2011/01/11(火) 21:51:56
何らかのクラスやモジュールの定義をスクリプトとして視覚化というか文字列化というか、可能?
ぶっちゃけツクールの組み込みクラスなんだけども、どう定義されてるか見てみたいんだ。
0573デフォルトの名無しさん2011/01/11(火) 22:19:24
どのツクールだよ
0574デフォルトの名無しさん2011/01/11(火) 22:21:02
XPのInputとかWindowとかが見たい
できたらいいなとは思うんだけどやっぱり無理かな
0575デフォルトの名無しさん2011/01/11(火) 22:37:32
> InputとかWindow

rubyにそんな機能はないです
0576デフォルトの名無しさん2011/01/11(火) 23:10:38
「ツクールの組み込みクラス」って書いてあるのにその突っ込みはないわー
0577デフォルトの名無しさん2011/01/11(火) 23:42:04
>>574
詳しく知らんがRPGツクールだろ

>>574
ソースを見たいということならば、そのInputやWindowがネイティブコンパイルされた拡張ライブラリでないなら
中身を見られるかもね

でも確かファイルやライブラリは暗号化されていたはずだから、なんらかの方法で復号化のメソッドを探せばいんじゃないかな
ただ拡張ライブラリ内で復号化してそのまま読み込まれていたら面倒だな
0578デフォルトの名無しさん2011/01/12(水) 07:44:07
>>577
今の自分にはハードルが高いということは分かった。ありがとう。
もう少し調べてみる。
0579デフォルトの名無しさん2011/01/12(水) 08:38:48
>>578
open('./rpg.rb', 'w'){|f|
ObjectSpace.each_object(String){|x|
f.write x if x.include?('module RPG')
}
}
0580デフォルトの名無しさん2011/01/12(水) 17:20:21
>>579
ありがとう。どこに置けばいい?
イベントコマンドでもスクリプトエディタの何もないところでも「module RPG」がずらっと出力されるだけだった。
ちなみにif以降を消して実行してみたらRPG::Mapとかは取り出せたけどInputやWindowは出なかった。
バイナリファイルを開いた時のようなごちゃごちゃした部分がかなりあったんだけど、つまり>>577の言った通りネイティブコンパイルされてて取り出せないということだろうか
0581デフォルトの名無しさん2011/01/12(水) 17:59:17
>>579
'module RPG' みたいな文字列リテラルはブロックの外に出さないと
ブロック評価するたびに文字列オブジェクト生成されるから
「module RPG」が無駄にずらっと出力されてしまうと思われ。
0582デフォルトの名無しさん2011/01/13(木) 19:20:12
以前このスレだか過去スレだかでWindowsでテキストファイル読み込む時は
バイナリモードで読んでからforce_encodingすると速いと書いてあったんでやってみた。
爆速じゃねーか
内部で自動的にやってることをスクリプトに書き出しただけなのになんでこれほど違うんだろう?
0583デフォルトの名無しさん2011/01/13(木) 20:34:59
Windowsのテキストモードでは
\r\n \n \r のどれでも改行だと認識するためのUniversalNewline
とか言う処理が入っていて遅いと聞いた

ワンライナーや自作テキストフィルタで1.8だと 1秒未満のやつが
1.9だと2〜3秒かかって、イラッと来るときがある
ブロックデバイスからのファイル読み込みに限って、高速なルーチンに切り替えるとかできないものだろうか
0584デフォルトの名無しさん2011/01/13(木) 21:29:14
逆に言うとWindows以外やWindowsのバイナリモードだとその処理が入ってないって事か?
Windows上で作成した\r\n改行のテキストファイルをLinux上で読むと結果が異なってくる?
0585デフォルトの名無しさん2011/01/13(木) 23:12:08
日本語でおk
0586デフォルトの名無しさん2011/01/14(金) 03:22:51
>>585
馬鹿には無理
0587デフォルトの名無しさん2011/01/14(金) 03:43:23
>>584
改行処理なんてやってるのはメジャーどころじゃWindowsぐらいじゃないかな
もしかしたらMacOSもやってたかも知れないが(今はUnix系なので多分やってない)

ShiftJIS + \r\nなら、Linux上でも最近のエディタなら流石に読めるよ
中途半端にEUC + \r\nとかやられたら流石に分からんかも知れんがw
0588デフォルトの名無しさん2011/01/14(金) 07:41:38
いやエディタはどうでもよくて、RubyでShitJIS+\r\nのファイルを読んだときどうかという意味です。
もちろんエンコーディング指定は適切にしたとして、$がどこにマッチするかとか振舞いに違いがあるのかどうか
0589デフォルトの名無しさん2011/01/14(金) 07:50:09
>>585
分かりにくくてすみません
0590デフォルトの名無しさん2011/01/14(金) 08:01:26
>>588
やってから言えば?
0591デフォルトの名無しさん2011/01/14(金) 09:30:57
force_encoding は中身に手をつけないだろ。
爆速に決まってるじゃねーか。エンコーディングのラベルをはりかえる以外なにもしないんだから。
0592デフォルトの名無しさん2011/01/14(金) 18:21:57
>>590
最近はソフトとか勝手に入れられなくてね

>>591
そういうからくりでしたか。納得です。
0593デフォルトの名無しさん2011/01/14(金) 18:28:36
会社のPCで環境作れないなら
そのくらい家でやればいいだろw
0594デフォルトの名無しさん2011/01/14(金) 19:21:48
まったくです。
0595デフォルトの名無しさん2011/01/15(土) 13:46:21
ubuntu10でRuby1.9.2をコンパイルしようとしています。
コンパイルする前にあらかじめインストールしておいたほうがいいライブラリはありますか。
現在のところ、libreadline-devをインストールしておいたほうがいいことは分かってます。
けどdebian系だと、インストールしておいたほうがいいライブラリがほかにもあった気がするので質問してみました。
知ってる人がいたら教えてください。
0596デフォルトの名無しさん2011/01/15(土) 14:12:19
libssl-dev
zlib1g-dev
libncurses-dev
libffi-dev
libyaml-dev
で足りると思う。
あと自分はいれていないが、必要であればTcl/Tk
0597デフォルトの名無しさん2011/01/15(土) 16:29:34
ruby1.9-devの依存先をたどれば良いジャマイカ。
0598デフォルトの名無しさん2011/01/15(土) 16:30:42
>>595
↓実行すればバイナリ作るのに必要なもの全部入るよ
1.9.1だけどあんまり変わらなんじゃないかな
sudo apt-get build-dep ruby1.9.1-full
0599デフォルトの名無しさん2011/01/15(土) 17:00:52
ライブラリじゃないけどruby1.8とbison(とtrunkならautoconf)はうっかり入れ忘れることがある
ビルド失敗ですぐ気付くからいいけど
0600デフォルトの名無しさん2011/01/15(土) 17:02:25
tarballからのビルドならrubyとbisonはいらないハズ。
リポジトリからだと必要だけど。
0601デフォルトの名無しさん2011/01/15(土) 23:44:14
>>584-587
Windowsで改行処理してLinuxでしてないってこと?
今の時代むしろナンセンスに感じるんだけど
もうFTPで転送時に改行コードや文字コード置き換える時代じゃないし

それだとWindowsで読めていたテキストが、Linuxで改行増えているようなことになるのかな?
Windowsで編集して、Linuxで処理するようなこともよくやっていて気になった
0602デフォルトの名無しさん2011/01/16(日) 00:47:57
旧Mac(\r) ユーザーのホームページで、変な改行になっているのは、かなり見たことある。
HTML のソースを良く見た頃の話だけど、Mac ユーザーの HTML は一部が壊れていた。
あと Mac は、ファイルの先頭にプロパティがあったじゃん。
あれも、変なデータをうpする原因になっていたんだろうなと思った。
0603デフォルトの名無しさん2011/01/16(日) 02:21:43
\rを何だと思ってるんだ
0604デフォルトの名無しさん2011/01/16(日) 02:23:39
MacBinaryは良いアイディアだと思うけどなぁ
BOMいらなくなるじゃん?
0605デフォルトの名無しさん2011/01/16(日) 07:38:12
自分のPCでソースを普通に見れないと「壊れている」ってか?
0606デフォルトの名無しさん2011/01/16(日) 15:25:30
1.8系でUTF-8のファイルパスを使用する方法があったら教えてください
openやFile.exist?の引数としてUFT-8のファイルパスを指定したいです

というか、wxRubyがUFT-8前提なのでUTF-8が通らないと日本語パスが使えない・・・(´・ω・`)
0607デフォルトの名無しさん2011/01/16(日) 20:49:47
>>606
wxRubyがどうのよりも1.8系はUTF-8を扱えてもmswin32やmingw32はUNICODEのファイルパスにそもそも対応していないのでは

Cygwinを使うのも手だけどwxRubyが問題か
0608デフォルトの名無しさん2011/01/16(日) 22:50:07
後発のスクリプト言語のくせに C みてぇだな。
06096062011/01/16(日) 23:06:45
>>607
レスありがとう
Cygwinはライセンス的に使えるライブラリが限られてしまうので避けたいです
1.9.2@mswin32でUFT-8のファイルパスが扱えることは確認しました
・・・が、今度は1.8.7で動いていたwxRuby関係のコードが動かない罠
こりゃ詰んだか・・・il||li ○| ̄|_
0610デフォルトの名無しさん2011/01/17(月) 00:24:57
Class.superclass
=> Module
Module.class
=> Class

どういうことなの。。
0611デフォルトの名無しさん2011/01/17(月) 02:49:33
>>610
それはどういうことが分からないんだ?

・回答A
ClassはModuleを継承している。
でもModuleもClassのインスタンスであり、すべての親であるObjectだってClassのインスタンス。
こういった基本的なクラスは相互に依存し合っていて、どこかが欠けると成立しない。
卵が先でも鶏が先でもない。両方あるからこそ成り立つ。
だからこそ、言語本体に組み込まれて存在している。


・回答B
後者の式は「Moduleクラス」や「Classクラス」のクラスを得る式。
クラスのクラスを得るのだから、当然返ってくるのはClassに決まっている。
Moduleクラスそのものを得たいなら

Module.class

なんて書くのは完全に蛇足で、単に

Module

と書く。
0612デフォルトの名無しさん2011/01/17(月) 06:55:42
>>610
どういうことって言われても。。
>Class.superclass
>=> Module
Classの親クラスはModuleってだけのこと。

>Module.class
>=> Class
ModuleはClassクラスのインスタンスオブジェクトだってだけのこと。
ModuleもClassもStringもObjectも、Classクラスのインスタンスオブジェクト。

0613デフォルトの名無しさん2011/01/17(月) 09:36:38
そんな偉っそうに書いてて恥かしくないの?
0614デフォルトの名無しさん2011/01/17(月) 09:52:34
なに意味のわかんないこと言ってるんだ>>613
0615デフォルトの名無しさん2011/01/17(月) 09:56:35
pgr
0616デフォルトの名無しさん2011/01/17(月) 13:33:29
>>612
そんなのわかってんだろうけど、
つながりとして考えたとき驚いたってことだろ。
得意になって断片的な説明して笑えるw
0617デフォルトの名無しさん2011/01/17(月) 14:45:56
一人で笑ってれば?
0618デフォルトの名無しさん2011/01/17(月) 14:51:54
おれも笑った
0619デフォルトの名無しさん2011/01/17(月) 15:59:44
>>610 がどういう挙動を想定してそれがどう違って驚いたのか具体的に書かないと、
結局断片的な説明しかできないじゃん。
それを得意になって笑えるとか、そんなん悪趣味な釣りとしか思えんよ。
0620デフォルトの名無しさん2011/01/17(月) 16:13:48
いやー、笑った笑った
0621デフォルトの名無しさん2011/01/17(月) 16:16:44
自分以外みんなわかってるなら、それは自分がおかしいのだ

そう考えるようにした方がいい。まだ間に合う
0622デフォルトの名無しさん2011/01/17(月) 18:12:14
わらうなら612じゃなくて>>611だろ。
>>611
>Moduleクラスそのものを得たいなら
>
>Module.class
>
>なんて書くのは完全に蛇足で、単に
>
>Module
>
>と書く。

Module.class で返されるのは Class であって Module ではない。
0623デフォルトの名無しさん2011/01/17(月) 18:31:10
>>622
>>611 の指摘はそれほど外してない気がする。
>>610 は Ruby のクラス階層の is-a has-a の構造で混乱しているんじゃないかな。
0624デフォルトの名無しさん2011/01/17(月) 18:35:44
そんなhas-aないだろう
0625デフォルトの名無しさん2011/01/17(月) 20:06:37
>>623
>>>610 は Ruby のクラス階層の is-a has-a の構造で混乱しているんじゃないかな。

混乱しているのはおまえのほう。has-a関係ない。

>>624
誰も気づいてないようだからつっこんでやるけど、だれがうまいこといえと
0626デフォルトの名無しさん2011/01/17(月) 20:57:22
class は Object のメソッド
superclass は Class のメソッド
並べると確かに変だな。
06276102011/01/18(火) 02:56:26
中途半端なレスしてすいませんでした。
意図していたことは>>611さんの回答Aで言っていることそのままでした。

Class.superclass
=> Module
ClassはModuleの性質を受け継いでいるのに

Module.class
=> Class
Moduleの元になるクラスはClassである。


という関係が直感的に意味不だったので。。
0628デフォルトの名無しさん2011/01/18(火) 08:16:30
クラス⇔インスタンス
Class⇔Module

サブクラス⇔スーパークラス
Module⇔Class


別の概念である。同じ「class」という単語が使われているが間違えないように。
0629デフォルトの名無しさん2011/01/18(火) 14:28:00
>>609
リリース時に処理系の環境がGPLなのは不可な案件か?
RubyGemsでもGPLなものもあるから気を付けろよ

それはそうとissueはこのあたりと関連チケットだな
1.8にポーティングは可能なのだろうか
その前にwin32は人が足りていないような気もするし

Ruby 1.9 - Bug #1685: Some windows unicode path issues remain - Ruby Issue Tracking System
http://redmine.ruby-lang.org/issues/show/1685
Ruby 1.9 - Bug #1771: system()/popen()/popen3() & windows & unicode is not working - Ruby Issue Tracking System
http://redmine.ruby-lang.org/issues/show/1771
0630tom2011/01/18(火) 15:16:12
req = Net::HTTP::Post.new(url.path)
req.set_form_data("aaa=bbb&ccc=ddd")
としてば場合、&、=をurlエンコードしない方法ってありますか?
0631デフォルトの名無しさん2011/01/18(火) 19:23:17
>>630
set_form_data は Hash を引数に期待する
req.set_form_data({'aaa' => 'bbb', 'ccc' => 'ddd'})
と書けば、キーと値は適切に application/x-www-form-urlencoded でエンコードされ、= と & による連結がふつーに行われる
下手に String#map が動作するもんだからエラーにならんのよね、文字列書いても

送信すべき処置済み巨大文字列が既に手元にあって、再エンコードとか何もして欲しくないという場合は、
適切な Content-Type を指定した上でふつうに post しれ
req.body = 'aaa=bbb&ccc=ddd'
req.content_type = 'application/x-www-form-urlencoded'
0632デフォルトの名無しさん2011/01/19(水) 21:07:11
お前らrvmアップデートしとけよ
JVN#30414126: Ruby Version Manager におけるエスケープシーケンスインジェクションの脆弱性
http://jvn.jp/jp/JVN30414126/
0633デフォルトの名無しさん2011/01/20(木) 05:05:22
力を貸して下さい。
まず、
a=[[aa],[x]],[[bb],[y]],[[aa],[z]],[[cc],[y]]
この配列があって、更にそれぞれの要素に対して
a[0]=[[ee],[y]],[[ff],[y]],[[ee],[x]],[[gg],[x]]
a[2]=[[hh],[y]],[[ii],[y]],[[hh],[x]],[[jj],[x]]
となる配列が有るのですが、
このとき " aa " にだけ着目して("x"にだけ着目するパターンもあります)
a[0]とa[2]の要素を抽出し、このうちのどれか1つの要素(例えば[[jj],[x]])
を選んで"ans"に代入するプログラムを作りたいのですが、良い方法は無いでしょうか?
ans = array[rand(a[0].size)]
ans = array[rand(a[[aa],[x]].size)]
では片方しか出せないし、
ans = array[rand(a[[aa],[.+]].size)]
とか出来たらうれしいのですが。
よろしくお願いします。
0634デフォルトの名無しさん2011/01/20(木) 06:55:23
(;´Д`)
0635デフォルトの名無しさん2011/01/20(木) 07:04:26
あまりに率直な反応に朝から盛大にフイタ
0636デフォルトの名無しさん2011/01/20(木) 07:49:03
いい方法=そんな気持ち悪くネストした配列を作らない
というか要素が一つの配列を作るのはなぜ?
変数名だかメソッド名だか知らんが全部が全部抽象化されてるからまるで意味が伝わらん
0637デフォルトの名無しさん2011/01/20(木) 07:50:48
>>633 は Lisper
0638デフォルトの名無しさん2011/01/20(木) 08:10:14
最初の定義に従った
a[0] = [aa]
a[2] = [bb]
とその下のa[0]・a[2]の関係がわからなくなった時点で読むのをやめた。
0639デフォルトの名無しさん2011/01/20(木) 08:30:45
一行目で読むのをやめた。
0640デフォルトの名無しさん2011/01/20(木) 12:40:09
>>633
そういう言語じゃねぇから!

ちゃんとクラス分けしたほうがいい。
後は連想配列が使えないか考えろ。

それ以上はレスの内容だけだと何とも言えない。どんなデータが合ってそこから最終的に何を出したいのか書いてくれないと。
0641デフォルトの名無しさん2011/01/20(木) 14:26:06
「レスの内容だけ」とかじゃなくて、全く意味がわからなかった
0642デフォルトの名無しさん2011/01/20(木) 14:28:36
これは多分どれだけ抽象的な話を理解できるか試すテスト。

0643デフォルトの名無しさん2011/01/20(木) 15:11:48
俺は笑い男が仕掛けた罠だと思ったんだけど、違うのか
06446332011/01/20(木) 16:19:48
すみません、説明が間違ってました。
aはハッシュで、値とキーが2重配列と配列になっています。
マルコフモデルの会話BOTを作りたいのですが、
詳しい説明文作っていたら一つ思い付いたので、
明日試してきます。
0645デフォルトの名無しさん2011/01/20(木) 16:22:45
面白いことやってるのかもしれんが、説明する力をもっと養えよ
0646デフォルトの名無しさん2011/01/20(木) 16:40:28
>>644
面白そう
読んだことないけど「恋するプログラム―Rubyでつくる人工無脳」で
紹介されてるような事をやりたいのかな
0647デフォルトの名無しさん2011/01/20(木) 18:03:46
>>645
御意、自然言語能力も足りないよね
0648デフォルトの名無しさん2011/01/21(金) 01:32:23


メールの送信元に「本庄」を指定して送信すると文字化けするが、これを本庄で送りたい。
fromはメールアドレスだけではなく、"本庄 <[email protected]>"といった感じで差出人名を指定。
また、名前に「刈」を指定すると、from自体が消えてしまう。


環境
ruby 1.8.7
rails 2.3.8

プラグインは
ActionmailerJa
actionmailer_sender_patch
jpmobile
mbmail
という布陣

fromに本庄を指定して送信すると、こんな感じのメールが送られて、文字化けする。

From: =?iso-2022-jp?B?GyRCSz4xGyhC?= <[email protected]>
To: [email protected]
Subject: =?iso-2022-jp?B?GyRCTDVCahsoQg==?=
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=mimepart_4d3862eeda92e_6904..fdba898d62b4
Message-Id: <20110120162934.DF71D2CB41@smxxxxxxxxxxxxxxx>


刈という文字が入っていると、そもそもfrom自体が消えてしまう。


0649デフォルトの名無しさん2011/01/21(金) 02:17:56
マルコフモデルみたいなbot作りたいならライブラリあるし、使ってみて中身覗いてみるとかの方が
Rubyに合った作り方学べるしいいと思うよ。

マルコフ連鎖するだけならそんなに難しくないし
0650デフォルトの名無しさん2011/01/21(金) 12:44:28
そして、ただライブラリを使うだけの自称プログラマが生まれる
おれのことだけどな

それにそのライブラリがRubyに合った作り方をしてる保証はないだろ
0651デフォルトの名無しさん2011/01/21(金) 13:15:57
適切なライブラリを探してきて使いこなすだけでもそれはそれで能力のうちだと思う。
0652デフォルトの名無しさん2011/01/21(金) 13:51:45
能力かもしれないけど能力が高いとは言えないし、
替えという点でもいくらでもきくね。
だから「ヒューマンスキル」みたいな言葉を必要以上に叫んだりするんだろうけど。
0653デフォルトの名無しさん2011/01/21(金) 14:47:33
よいプログラマはよいコードを書く。偉大なプログラマは
よいコードを借りてくる
■ このスレッドは過去ログ倉庫に格納されています