11/11/24 00:31:30.86
>>835
これでも出来る。(1.8.7、1.9.2)
require 'time'
s = "14:53"
p Time.parse(s).min * 60 + Time.parse(s).sec
849:デフォルトの名無しさん
11/11/24 00:32:55.00
846が馬鹿なだけ
850:デフォルトの名無しさん
11/11/24 00:39:36.57
rakeで
namespace :foo do
task :bar do ... end
task :baz do ... end
end
としたとき、rake -Tで
foo:bar
foo:baz
とでてくるけど、task foo を定義するのはどうしたらいい?
ちょうど、ブラウザで/foo/ にアクセスするとデフォルトで /foo/index.html にアクセスするようなかんじ。
task :default
を定義したらいいのだと思ったけど、違うみたい。
851:846
11/11/24 00:39:51.88
これは?
URLリンク(gonbee774blog.blog41.fc2.com)
852:デフォルトの名無しさん
11/11/24 00:40:48.87
意味が分からん
1.9で扱えないと何で1.8?
それ以前に1.9で扱えるし
853:デフォルトの名無しさん
11/11/24 00:41:08.96
>>848
それ、単に14が無視されてないか?
854:デフォルトの名無しさん
11/11/24 00:49:04.43
あö.txt
あö
をopenしてみたけど1.8.7はアウトで1.9.3はOKだったよ
855:デフォルトの名無しさん
11/11/24 10:58:00.95
>>851
なんでブログの記事なの?
いや、わりとマジで
856:デフォルトの名無しさん
11/11/24 11:14:40.40
>>846はRubyの実行環境なんて持ってないんだよ言わせんな恥ずかしい
857:デフォルトの名無しさん
11/11/24 15:07:05.42
>>824
> pattern1.lines.zip(pattern2.lines).collect{|i| i.collect{|k| k.chomp}.join}.join("\n")
完成したんですがここのとこだけよく分からないのです。どうなってるんですか?
858:デフォルトの名無しさん
11/11/24 15:43:32.21
>>857
横レスだけど、>>824を(勝手に)折り曲げてみた。これなら読めるかな?
pattern1.lines.zip(
pattern2.lines
).collect { |i|
i.collect { |k| k.chomp }.join
}.join("¥n")
859:デフォルトの名無しさん
11/11/24 16:03:19.00
そーゆー物理行的な意味ではないと思う
860:デフォルトの名無しさん
11/11/24 18:16:47.70
>>857
irb> "foo \n bar \n baz".lines
=> #<Enumerator: "foo \n bar \n baz":lines>
irb> _.zip("123 \n 456 \n 789".lines) # irb において _ はさっき実行した式の返り値
=> [["foo \n", "123 \n"], [" bar \n", " 456 \n"], [" baz", " 789"]]
irb> _.collect{|i| i.collect{|k| k.chomp } }
=> [["foo ", "123 "], [" bar ", " 456 "], [" baz", " 789"]]
irb> [1, 2, 3].collect{|e| e * 2 }
=> [2, 4, 6]
まだわからなければどこの何がわからないか具体的に書いたほうがいいよ
861:デフォルトの名無しさん
11/11/24 19:28:29.07
>>848
require 'time'
Time.parse('14:53') #=> 2011-11-24 14:53:00 +0900
時:分 と認識するようですな
というわけで
(Time.parse('14:53')-Time.parse('00:00')).div(60) #=> 893
862:デフォルトの名無しさん
11/11/25 15:42:56.76
>>860
collectの中にcollectがあるのがよく分からないです。あと二つ目のcollectに付くjoinも。
863:デフォルトの名無しさん
11/11/25 16:01:24.89
>>857がよくわからないのでバラしてください、に対する回答が>>858と>>860なのが興味深い
初心者が回答してるんだと思いたい
864:デフォルトの名無しさん
11/11/25 23:38:32.33
鯖復帰記念ぱぴこ
>>862
まずはcollectの後ろについたjoinについて
これはcollectした結果にさらにjoinを適用するということ
たとえば ["a", "b", "c"].collect{|str| str.upcase }.join は
["A", "B", "C"].join に評価されて、これはさらに "ABC" に評価される
あと二重のcollectだけど、collectするデータが二重の配列(配列の配列)なのと対応してる
irb> [['a', 'b'], ['x', 'y']].collect{|inner_array| p inner_array }
["a", "b"]
["x", "y"]
=> [["a", "b"], ["x", "y"]]
irb> [['a', 'b'], ['x', 'y']].collect{|inner_array| inner_array.collect{|char| char.upcase }}
=> [["A", "B"], ["X", "Y"]]
irb> [['a', 'b'], ['x', 'y']].collect{|inner_array| inner_array.collect{|char| char.upcase }.join }
=> ["AB", "XY"]
irb> [['a', 'b'], ['x', 'y']].collect{|inner_array| inner_array.collect{|char| char.upcase }.join }.join
=> "ABXY"
自分でirbで(できれば値をあれこれ変えながら)試すと理解が速いと思うよ
あと各メソッドについてマニュアル読んでなかったら読む
865:デフォルトの名無しさん
11/11/26 02:48:42.14
>>862
pattern1とpattern2をそれぞれ"**\n**\n**", "--\n--\n--"だとすると、
linesすることで["**\n", "**\n", "**"], ["--\n", "--\n", "--"]というものが作れる(実際は配列じゃないけど便宜上)
["**\n", "**\n", "**"].zip(["--\n", "--\n", "--"])で返ってくるのは
[["**\n", "--\n"], ["**\n", "--\n"], ["**", "--"]]という配列の配列。
この大きな配列全体に対してcollect{|i| ... }すると、 i には["**\n", "--\n"]こういう配列が入る。
二回目のcollectや最初のjoinはこの小さい配列に対するもので、"**\n"と"--\n"から改行を取り除いた上でjoinして
"**--"こういう文字列にする。
これを繰り返して全体のcollectが済んだ時点で
["**--", "**--", "**--"]という感じの配列が返ってくるからjoin("\n")で間に改行を挟みながら連結すると
"**--\n**--\n**--"
**--
**--
**--
つまり
"**\n**\n**"
**
**
**
と
"--\n--\n--"
--
--
--
を横に連結したものが返ってくる、って寸法。
866:uy
11/11/26 06:15:11.83
み づ ら い
867:デフォルトの名無しさん
11/11/26 10:42:57.41
お前の視認能力か使ってるブラウザがゴミなだけ
868:デフォルトの名無しさん
11/11/26 10:56:07.00
なにそのBrainF*ck