Pythonが嫌いな人のためのスレッドです。
■関連スレ
Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/
Pythonについて(アンチ専用)
■ このスレッドは過去ログ倉庫に格納されています
2008/02/21(木) 10:24:06
514デフォルトの名無しさん
2009/06/10(水) 15:05:56 日本人はすぐ個人攻撃に走る
515デフォルトの名無しさん
2009/06/10(水) 16:12:54 論理的に反論できないんですねわかります
516デフォルトの名無しさん
2009/06/10(水) 17:01:21 まぁ、論理的に反論できないやつが人格攻撃なんてよくあることだ罠
517デフォルトの名無しさん
2009/06/10(水) 17:04:49 偉そうにはとても見えないけど、仮に偉そうだったとして、
実際この子よりは偉いだろうから仕方ないと思う。
相対的にこの子と対等かそれ以下になるのは、常人には逆に難しそう。
実際この子よりは偉いだろうから仕方ないと思う。
相対的にこの子と対等かそれ以下になるのは、常人には逆に難しそう。
518デフォルトの名無しさん
2009/06/10(水) 17:10:07 >>511
> どうせ要素のすべてが文字列である場合じゃないとjoinできないんだから、listのメソッドだったとしても別におかしくはない。
だから、どうしてstringのjoinしか見ないんだって何度もツッコミ入れられてるだろ。
joinがstringに定義されているから、引数はstringのiterableを取り、結果として連結されたstringを返す。
同様に、bytearrayのjoinは引数としてbytearrayのiterableを取り、結果として連結されたbytearrayを返す。
全部listのjoinが何とかするよりも、連結されるクラスが定義するpython式のほうがずっと自然だ。
> どうせ要素のすべてが文字列である場合じゃないとjoinできないんだから、listのメソッドだったとしても別におかしくはない。
だから、どうしてstringのjoinしか見ないんだって何度もツッコミ入れられてるだろ。
joinがstringに定義されているから、引数はstringのiterableを取り、結果として連結されたstringを返す。
同様に、bytearrayのjoinは引数としてbytearrayのiterableを取り、結果として連結されたbytearrayを返す。
全部listのjoinが何とかするよりも、連結されるクラスが定義するpython式のほうがずっと自然だ。
519デフォルトの名無しさん
2009/06/10(水) 17:11:18 >>512
> そうなったらjoinの引数として渡してやるだけでいいじゃん。
> str.join(list) が list.join(str) となるだけ。
そのlistはstrのこともbytearrayのことも何でも知ってなきゃならないわけだ。
ユーザ定義のクラスを連結したい時にはどうするの?
> そうなったらjoinの引数として渡してやるだけでいいじゃん。
> str.join(list) が list.join(str) となるだけ。
そのlistはstrのこともbytearrayのことも何でも知ってなきゃならないわけだ。
ユーザ定義のクラスを連結したい時にはどうするの?
520デフォルトの名無しさん
2009/06/10(水) 17:26:40 その場合はlist.join内部を+とかconcatとかで実装しておいて
その実装に使われたメソッドを各クラスで定義するのが自然ではなかろうか
一手間余計にかかるが
その実装に使われたメソッドを各クラスで定義するのが自然ではなかろうか
一手間余計にかかるが
521デフォルトの名無しさん
2009/06/10(水) 17:28:47 _________
/ \
/ ⌒ ⌒\
/ ( ⌒) (⌒)\
i ::::::⌒ (__人__) ⌒:: i
ヽ、 `ー ' /
/ ┌─┐
i 丶 ヽ{ .茶 }ヽ
r ヽ、__)一(_丿
ヽ、___ ヽ ヽ
と_____ノ_ノ
/ \
/ ⌒ ⌒\
/ ( ⌒) (⌒)\
i ::::::⌒ (__人__) ⌒:: i
ヽ、 `ー ' /
/ ┌─┐
i 丶 ヽ{ .茶 }ヽ
r ヽ、__)一(_丿
ヽ、___ ヽ ヽ
と_____ノ_ノ
522デフォルトの名無しさん
2009/06/10(水) 17:33:39523デフォルトの名無しさん
2009/06/10(水) 17:35:48524デフォルトの名無しさん
2009/06/10(水) 17:47:46 __
 ̄ ̄ ̄二二ニ=-
'''''""" ̄ ̄
-=ニニニニ=-
/⌒ヽ _,,-''"
_ ,(^ω^ ) ,-''"; ;,
/ ,_O_,,-''"'; ', :' ;; ;,'
(.゙ー'''", ;,; ' ; ;; ': ,'
_,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ |
_,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ
 ̄ ̄ ̄二二ニ=-
'''''""" ̄ ̄
-=ニニニニ=-
/⌒ヽ _,,-''"
_ ,(^ω^ ) ,-''"; ;,
/ ,_O_,,-''"'; ', :' ;; ;,'
(.゙ー'''", ;,; ' ; ;; ': ,'
_,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ |
_,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ
525デフォルトの名無しさん
2009/06/10(水) 19:56:04 Rubyの方が「(Matzの)気持ちよさ」のために汎用性や効率を
犠牲にしている所が多いので、RubyとPythonの仕様の違いで
「Pythonが間違っている!」と指摘するRuby厨はたいてい
視野が狭い。
犠牲にしている所が多いので、RubyとPythonの仕様の違いで
「Pythonが間違っている!」と指摘するRuby厨はたいてい
視野が狭い。
526デフォルトの名無しさん
2009/06/10(水) 21:15:35 >>525
おまえこそ視野を広く持てよ。
join()がArrayやListのメソッドである言語:
Ruby, JavaScript, Smalltalk(GNU), Perl(List用の関数に分類される)
join()が文字列のメソッドである言語:
Python, C#, PHP(文字列用の関数に分類される)
まあオブジェクト指向的に、"連結せよ" というメッセージをどこに送信するかを考えると、そりゃArrayやListに送るわな。
Pythonの場合はオブジェクト指向として考えたわけじゃなくて、シーケンスを引数にしたいという都合からそうなっているだけ。
joinを関数のようにとらえているとそれでもいいけど、オブジェクト指向的に考えると不自然ってだけ。
C#も、joinはインスタンスメソッドではなくスタティックメソッドだから、まさに関数的な考え方。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/366join/join.html
joinは、オブジェクト指向が強い言語では当然のようにArrayやListのメソッドだけど、関数が主体の言語では文字列のメソッドになることがある。
少なくとも、joinが文字列のメソッドである*べき*なんてのはただのねつ造だし、言語でいえば実は少数派。
まあいいじゃん、joinが文字列のメソッドでも。PHPと同じだと思えば。
525の視野が広くなることを願いながら、この話題はここで終了。
おまえこそ視野を広く持てよ。
join()がArrayやListのメソッドである言語:
Ruby, JavaScript, Smalltalk(GNU), Perl(List用の関数に分類される)
join()が文字列のメソッドである言語:
Python, C#, PHP(文字列用の関数に分類される)
まあオブジェクト指向的に、"連結せよ" というメッセージをどこに送信するかを考えると、そりゃArrayやListに送るわな。
Pythonの場合はオブジェクト指向として考えたわけじゃなくて、シーケンスを引数にしたいという都合からそうなっているだけ。
joinを関数のようにとらえているとそれでもいいけど、オブジェクト指向的に考えると不自然ってだけ。
C#も、joinはインスタンスメソッドではなくスタティックメソッドだから、まさに関数的な考え方。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/366join/join.html
joinは、オブジェクト指向が強い言語では当然のようにArrayやListのメソッドだけど、関数が主体の言語では文字列のメソッドになることがある。
少なくとも、joinが文字列のメソッドである*べき*なんてのはただのねつ造だし、言語でいえば実は少数派。
まあいいじゃん、joinが文字列のメソッドでも。PHPと同じだと思えば。
525の視野が広くなることを願いながら、この話題はここで終了。
527デフォルトの名無しさん
2009/06/10(水) 22:00:10 >>526が言語とライブラリの区別もつかない土方な件
528デフォルトの名無しさん
2009/06/10(水) 22:04:40 > まあオブジェクト指向的に、"連結せよ" というメッセージをどこに送信するかを考えると、そりゃArrayやListに送るわな。
ぷ
オブジェクト指向的には"連結せよ"というメッセージは連結子になるオブジェクト(string)に送るのが自然だろ。
ArrayやListに送るという発想はSmalltalkの古いCollectionの設計に縛られているだけ。
ぷ
オブジェクト指向的には"連結せよ"というメッセージは連結子になるオブジェクト(string)に送るのが自然だろ。
ArrayやListに送るという発想はSmalltalkの古いCollectionの設計に縛られているだけ。
529デフォルトの名無しさん
2009/06/10(水) 22:08:45 >>526
オブジェクト指向的かどうかではなくて、型に対する態度の問題だと思うぞ。
型を強く意識する言語では、文字列以外も入るリストに要素を文字列として
連結するなんてメソッドを追加するのはあり得ない。
C#のstaticmethod の join は、 Python にも string モジュールに join
という関数がある。文字列に関連したメソッドなんだから str の
インスタンスメソッドにした方が便利だから、インスタンスメソッドに
なっただけ。
オブジェクト指向的かどうかではなくて、型に対する態度の問題だと思うぞ。
型を強く意識する言語では、文字列以外も入るリストに要素を文字列として
連結するなんてメソッドを追加するのはあり得ない。
C#のstaticmethod の join は、 Python にも string モジュールに join
という関数がある。文字列に関連したメソッドなんだから str の
インスタンスメソッドにした方が便利だから、インスタンスメソッドに
なっただけ。
530デフォルトの名無しさん
2009/06/10(水) 22:13:24 「オブジェクト指向的に自然」って、自分で思いこんでるのが
すべての人にとっても自然だと考えるのはなんでなんだろうね。
少なくとも文字列の連結処理を効率的に行うには文字列の
実装を知らないといけなくて、Arrayが文字列の内部実装を
直接弄って効率的な連結をするのは気持ち悪いな。
すべての人にとっても自然だと考えるのはなんでなんだろうね。
少なくとも文字列の連結処理を効率的に行うには文字列の
実装を知らないといけなくて、Arrayが文字列の内部実装を
直接弄って効率的な連結をするのは気持ち悪いな。
531デフォルトの名無しさん
2009/06/11(木) 00:45:49 理想の世界で生きていきたくても、
蛇にそそのかされてリンゴを食べたからな。
現実と向き合わないとならないのだよ。
蛇にそそのかされてリンゴを食べたからな。
現実と向き合わないとならないのだよ。
532デフォルトの名無しさん
2009/06/11(木) 01:13:38 ______.______.__
, '"――――‐, '"――――― ヽ`i1
./ ∧_∧ //'~ ̄ ̄|.|.| ̄ ̄~|.||::||
.i (・∀・ .) i ! _,._|.|.| . |.l|::||
[;].!_っ⌒'と _0[;],l | f _..┘|:. ̄ ̄~ .|| ||._________,
~l!=;:,...二二....,:;=iヨ.'ー''"~ . __ ! __.|| ||i リンゴジュース  ̄i1
li..,._.  ̄。 ̄. _.,..!.| ........~ノ..............~ || !|i,,___,,___,,___,,__,,!|
il_`}≡≡{´_E|..::' /⌒ヽ'ヽ_____/l|!=イ二/_/ ⌒ヽヽ(ニ(]
. {=i:::::::[二]:::::::i=i::」 |i.(*).i;;;;|i□□ー‐! ::::::::::|;;;;;;|ii.(*) i;;;|二l]
 ̄ ̄ゞ三ノ  ̄ ̄ ̄ゞ_ノ ̄ ゞゞ三ノ  ̄ゞゞ_ノ~ ≡3
, '"――――‐, '"――――― ヽ`i1
./ ∧_∧ //'~ ̄ ̄|.|.| ̄ ̄~|.||::||
.i (・∀・ .) i ! _,._|.|.| . |.l|::||
[;].!_っ⌒'と _0[;],l | f _..┘|:. ̄ ̄~ .|| ||._________,
~l!=;:,...二二....,:;=iヨ.'ー''"~ . __ ! __.|| ||i リンゴジュース  ̄i1
li..,._.  ̄。 ̄. _.,..!.| ........~ノ..............~ || !|i,,___,,___,,___,,__,,!|
il_`}≡≡{´_E|..::' /⌒ヽ'ヽ_____/l|!=イ二/_/ ⌒ヽヽ(ニ(]
. {=i:::::::[二]:::::::i=i::」 |i.(*).i;;;;|i□□ー‐! ::::::::::|;;;;;;|ii.(*) i;;;|二l]
 ̄ ̄ゞ三ノ  ̄ ̄ ̄ゞ_ノ ̄ ゞゞ三ノ  ̄ゞゞ_ノ~ ≡3
533デフォルトの名無しさん
2009/06/11(木) 09:03:24 >>511
>どうせ要素のすべてが文字列である場合じゃないとjoinできないんだから、listのメソッドだったとしても別におかしくはない。
要素のすべてが文字列である場合じゃないとjoinできないんだから
str/unicode/byteのメソッドなのでは?
>どうせ要素のすべてが文字列である場合じゃないとjoinできないんだから、listのメソッドだったとしても別におかしくはない。
要素のすべてが文字列である場合じゃないとjoinできないんだから
str/unicode/byteのメソッドなのでは?
535デフォルトの名無しさん
2009/06/11(木) 13:22:39 >>502
違う、全然違う。
str.join は、自動的に unicode へ格上げするような仕様になっている
だけで、実装は + (__add__) よりも効率的なものを使っている。
結果がたまたま等しいだけであって、sep.join([u'a', u'b']) と
u'a' + sep + u'b' は違う意味だ。
「strのjoinだからstr」というのは、逆に言えば「str以外のjoin」は違う動作を
するという意味でもある。
In [3]: k = bytearray('k')
In [4]: k.join([u'a', u'b'])
TypeError: can only join an iterable of bytes (item 0 has type 'unicode')
違う、全然違う。
str.join は、自動的に unicode へ格上げするような仕様になっている
だけで、実装は + (__add__) よりも効率的なものを使っている。
結果がたまたま等しいだけであって、sep.join([u'a', u'b']) と
u'a' + sep + u'b' は違う意味だ。
「strのjoinだからstr」というのは、逆に言えば「str以外のjoin」は違う動作を
するという意味でもある。
In [3]: k = bytearray('k')
In [4]: k.join([u'a', u'b'])
TypeError: can only join an iterable of bytes (item 0 has type 'unicode')
537デフォルトの名無しさん
2009/06/11(木) 14:57:21 reduce(lambda x,y: str(x) + ',' + str(y), [1,2,3])
これ reduce 使う前提でもっと効率良く書けますか?
これ reduce 使う前提でもっと効率良く書けますか?
538デフォルトの名無しさん
2009/06/11(木) 14:58:21 >>> reduce(lambda x,y: x + ',' + str(y), [1,2,3], '')
',1,2,3'
>>> reduce(lambda x,y: x + ',' + y, [1,2,3], '')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: cannot concatenate 'str' and 'int' objects
ダメぽ orz
',1,2,3'
>>> reduce(lambda x,y: x + ',' + y, [1,2,3], '')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: cannot concatenate 'str' and 'int' objects
ダメぽ orz
539デフォルトの名無しさん
2009/06/11(木) 15:00:15 ','.join(map(str,[1,2,3]))
540デフォルトの名無しさん
2009/06/11(木) 15:34:13541デフォルトの名無しさん
2009/06/11(木) 16:06:04 仮にreduceでどんだけがんばってもjoinよりは速くならないだろう
542デフォルトの名無しさん
2009/06/11(木) 16:08:15 reduce(lambda x, y: '%s,%s' % (x, y), [1,2,3])
スマートさを求めるならこのあたりが限界かな
スマートさを求めるならこのあたりが限界かな
543デフォルトの名無しさん
2009/06/11(木) 21:48:41 生成される一時オブジェクトの数のオーダが違うから無理だと思う
544デフォルトの名無しさん
2009/06/12(金) 08:08:33 joinは?
545デフォルトの名無しさん
2009/06/12(金) 08:17:15 joinを使うと一時オブジェクトなしで計算量O(N)。
reduceを使うと一時オブジェクトがO(N)必要で計算量O(N^2)。
どっちが良いかは明白だな。
reduceを使うと一時オブジェクトがO(N)必要で計算量O(N^2)。
どっちが良いかは明白だな。
546デフォルトの名無しさん
2009/06/12(金) 10:16:59 Ruby の join って Enumerable のメソッドでは無くてリストのメソッドなんだな。
Pythonよりよっぽど気持ち悪い。
Pythonよりよっぽど気持ち悪い。
547デフォルトの名無しさん
2009/06/15(月) 06:27:55 123
548デフォルトの名無しさん
2009/06/17(水) 12:12:18 daa
549デフォルトの名無しさん
2009/06/21(日) 06:52:49 なんかすげーあちこちに飛び火したな、joinネタ
ttp://d.hatena.ne.jp/methane/20090615/1245025996
ttp://blog.livedoor.jp/dankogai/archives/51226075.html
ttp://d.hatena.ne.jp/methane/20090621/1245532793
ttp://d.hatena.ne.jp/methane/20090615/1245025996
ttp://blog.livedoor.jp/dankogai/archives/51226075.html
ttp://d.hatena.ne.jp/methane/20090621/1245532793
550デフォルトの名無しさん
2009/06/21(日) 12:29:31 >>549
二行目
だんこがい
ってばかだな
class List(list):
def join(self, j = ''):
return j.join(map(lambda x: '%s' % x, self))
二行目
だんこがい
ってばかだな
class List(list):
def join(self, j = ''):
return j.join(map(lambda x: '%s' % x, self))
551デフォルトの名無しさん
2009/06/21(日) 12:38:06 return j.join(map(repr, self))
552デフォルトの名無しさん
2009/06/21(日) 13:53:50553デフォルトの名無しさん
2009/07/03(金) 05:29:13┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
554デフォルトの名無しさん
2009/07/22(水) 14:57:08 test
555デフォルトの名無しさん
2009/07/24(金) 19:32:27 pythonをはじめて使った時に ''.join()みたいな書き方は
あり得ないと思ったけど、慣れてしまえば使いやすいね。
あり得ないと思ったけど、慣れてしまえば使いやすいね。
556デフォルトの名無しさん
2009/07/24(金) 19:37:07 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
557デフォルトの名無しさん
2009/07/25(土) 03:36:26 JavaScriptもjoin使うの知って
まぁそうゆうもんかと思った。
まぁそうゆうもんかと思った。
558デフォルトの名無しさん
2009/07/25(土) 17:15:15 キャメルケースでも、アンダースコア区切りでもないのが、個人的に違和感がある。
559デフォルトの名無しさん
2009/10/03(土) 22:56:53 アンチ少ないお
560デフォルトの名無しさん
2009/10/03(土) 23:01:16 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
2009/10/23(金) 03:16:56
Black community in a town of 96% whites. ,
562デフォルトの名無しさん
2009/11/03(火) 20:47:51 インデント記法は慣れれば気にならないし、
xx.lenghがなくてlen(xx)に統一されてるのも
個人的には嫌いだけど一理あるとは認めざる得ない。
でもスライスのx[n:m]の範囲指定は気持ち悪い。
なんか合理的な理由でもあるの?
xx.lenghがなくてlen(xx)に統一されてるのも
個人的には嫌いだけど一理あるとは認めざる得ない。
でもスライスのx[n:m]の範囲指定は気持ち悪い。
なんか合理的な理由でもあるの?
563デフォルトの名無しさん
2009/11/03(火) 20:52:51 他にどんな方法があるの?
564デフォルトの名無しさん
2009/11/03(火) 21:37:23 >>562
日本語の勉強してから出直せ
日本語の勉強してから出直せ
565デフォルトの名無しさん
2009/11/03(火) 21:38:46566デフォルトの名無しさん
2009/11/03(火) 21:47:04567デフォルトの名無しさん
2009/11/03(火) 21:58:48 x文字目からy文字目まで取り出すとき
s[x:y+1]と計算が多くて済むから合理的
s[x:y+1]と計算が多くて済むから合理的
568デフォルトの名無しさん
2009/11/03(火) 22:31:58 x文字目から最後の文字からn文字前まで取り出すとき
s[x:-n]と計算が少なくて済むから合理的
>>> 'abcde'[2:]
'cde'
>>> 'abcde'[2:-1]
'cd'
>>> 'abcde'[2:-2]
'c'
s[x:-n]と計算が少なくて済むから合理的
>>> 'abcde'[2:]
'cde'
>>> 'abcde'[2:-1]
'cd'
>>> 'abcde'[2:-2]
'c'
569デフォルトの名無しさん
2009/11/03(火) 22:33:52 s = 'abcde'
s[2:len(s)]
s[2:len(s)-1]
s[2:len(s)-2]
s[2:len(s)]
s[2:len(s)-1]
s[2:len(s)-2]
570デフォルトの名無しさん
2009/11/04(水) 17:09:36 Fortranに倣った
571sage
2009/11/05(木) 01:57:16 >571
a(:)みたいな配列を1-n, n-にわけたいとき、
Fortran a(:n), a(n+1:)
python a[:n] a[n:]
と、pythonの方がすっきりだ。これに気づいてからpythonのスライシングを許せるようになったw
a(:)みたいな配列を1-n, n-にわけたいとき、
Fortran a(:n), a(n+1:)
python a[:n] a[n:]
と、pythonの方がすっきりだ。これに気づいてからpythonのスライシングを許せるようになったw
572デフォルトの名無しさん
2009/11/05(木) 19:04:13 0-origin の index の場合、 [begin, end) で範囲を表現するのが一般的
大きさ0の範囲を [x,x) で表現できる。
大きさ0の範囲を [x,x) で表現できる。
573デフォルトの名無しさん
2009/11/06(金) 01:00:35 >>572
その表記ってC++勉強して初めて知ったけど一般的なん?
その表記ってC++勉強して初めて知ったけど一般的なん?
574デフォルトの名無しさん
2009/11/06(金) 01:12:29 数学表記でしょ
閉区間とか開区間とか
閉区間とか開区間とか
575デフォルトの名無しさん
2009/11/06(金) 01:36:39 ああそうか、思いっきり一般的だw
>>573で初めてとか言ったけど学校で習った覚えもあるわ
>>573で初めてとか言ったけど学校で習った覚えもあるわ
576デフォルトの名無しさん
2009/11/06(金) 23:36:11 ヨーロッパとかだと半開区間を [a, b[ とか書いたりする
きもい
きもい
577デフォルトの名無しさん
2009/11/10(火) 17:42:00 http://groups.google.com/group/unladen-swallow/browse_thread/thread/4edbc406f544643e
googleは新規のプロジェクトではpythonを使わないように勧めてるらしい
googleは新規のプロジェクトではpythonを使わないように勧めてるらしい
578デフォルトの名無しさん
2009/11/10(火) 22:34:32 GAEもう使ってないから関係ないわw
579デフォルトの名無しさん
2009/11/11(水) 00:31:02 だからといってRubyやPerlやPHPが代わりに使われることはないわけだが。
580デフォルトの名無しさん
2009/11/11(水) 00:33:31 するとGuile?
名前も似てるしな
名前も似てるしな
名前も似てるしな
名前も似てるしな
581デフォルトの名無しさん
2009/11/11(水) 01:16:24 Google のいちおしは Noop on Scala だろ
582デフォルトの名無しさん
2009/11/11(水) 01:49:35 Javaってことじゃん
やっぱ時代はじゃばだよな!
やっぱ時代はじゃばだよな!
583デフォルトの名無しさん
2009/11/11(水) 12:50:13 Goって囲碁のプログラムかと思ったよ
シンプルで高速、Googleの新プログラミング言語「Go」
ttp://journal.mycom.co.jp/news/2009/11/11/025/?rt=na
シンプルで高速、Googleの新プログラミング言語「Go」
ttp://journal.mycom.co.jp/news/2009/11/11/025/?rt=na
584デフォルトの名無しさん
2009/11/11(水) 15:23:00 Google の中の人、言語作るの好きだな
585デフォルトの名無しさん
2009/11/11(水) 18:21:08 Noopが当て馬、Goが本命?
586デフォルトの名無しさん
2009/11/11(水) 22:10:10 また中途半端なものを出してきたなw
587デフォルトの名無しさん
2009/11/11(水) 22:46:39 単に Google の中の人は飽きっぽいだけだと思
588デフォルトの名無しさん
2009/12/25(金) 20:18:30 test
589デフォルトの名無しさん
2010/01/10(日) 22:59:29 なんでlist.rindexがないのか、理解できない
590デフォルトの名無しさん
2010/01/10(日) 23:03:05 双方向リンクになってないから?
reverseかけてからやるしかないね
reverseかけてからやるしかないね
591デフォルトの名無しさん
2010/04/10(土) 18:43:33 なんでPythonスレはあんなに荒れているのに、このスレはこんなに平和なのか。
592デフォルトの名無しさん
2010/04/11(日) 16:53:40 このスレが機能してないからでは
593デフォルトの名無しさん
2010/04/11(日) 17:28:44 ここはスレタイがネガティブだから平和なのでは。
本スレに"人生の敗北者でも使える"を付けてみるとか。
本スレに"人生の敗北者でも使える"を付けてみるとか。
594デフォルトの名無しさん
2010/04/11(日) 18:38:07 そういえば昔は付いてたな
595デフォルトの名無しさん
2010/04/14(水) 13:15:53 とあるエディットボックスの日本語入力中にIMEの変換中の文字列を取得したいのですが
from ctypes import *
from ctypes.wintypes import *
ImmGetContext = windll.imm32.ImmGetContext
ImmGetContext.argtypes = [c_int]
ImmGetContext.restypes = c_int
ImmGetCompositionString = windll.imm32.ImmGetCompositionStringA
ImmGetCompositionString.argtypes = [c_int, c_int, c_char_p, c_int]
ImmGetCompositionString.restypes = c_int
GCS_COMPSTR = 0x0008
hwnd = エディットボックスのウインドウハンドル
himc = ImmGetContext(hwnd) # 入力コンテキスト取得
buf = create_string_buffer('dummy', 1024) # バッファ作成
print ImmGetCompositionString(himc, GCS_COMPSTR, buf, 0) # IME変換中の文字列の長さに応じた値が返ってくる
print ' '.join(('%02x' % ord(c)) for c in buf.raw) # 常にバッファ作成時の初期化文字列「'dummy'」しか返ってこない
…となってしまいます
ctypes のポインタ渡しの説明を見ると c_char_p ではなく
create_string_buffer で作ったものを渡せとあるので
そうしたつもりなのですが期待通りに動きません
どなたか上手く取得する方法を教えてください
ちなみに
buf = create_string_buffer('dummy', 1024)
print '>',
# libc.scanf('%s', buf)
cdll.msvcrt.scanf('%s', buf)
print ' '.join(('%02x' % ord(c)) for c in buf.raw)
print buf.value
こちらは動きます
バッファオーバーランとかの突っ込みはなしでおながいします
from ctypes import *
from ctypes.wintypes import *
ImmGetContext = windll.imm32.ImmGetContext
ImmGetContext.argtypes = [c_int]
ImmGetContext.restypes = c_int
ImmGetCompositionString = windll.imm32.ImmGetCompositionStringA
ImmGetCompositionString.argtypes = [c_int, c_int, c_char_p, c_int]
ImmGetCompositionString.restypes = c_int
GCS_COMPSTR = 0x0008
hwnd = エディットボックスのウインドウハンドル
himc = ImmGetContext(hwnd) # 入力コンテキスト取得
buf = create_string_buffer('dummy', 1024) # バッファ作成
print ImmGetCompositionString(himc, GCS_COMPSTR, buf, 0) # IME変換中の文字列の長さに応じた値が返ってくる
print ' '.join(('%02x' % ord(c)) for c in buf.raw) # 常にバッファ作成時の初期化文字列「'dummy'」しか返ってこない
…となってしまいます
ctypes のポインタ渡しの説明を見ると c_char_p ではなく
create_string_buffer で作ったものを渡せとあるので
そうしたつもりなのですが期待通りに動きません
どなたか上手く取得する方法を教えてください
ちなみに
buf = create_string_buffer('dummy', 1024)
print '>',
# libc.scanf('%s', buf)
cdll.msvcrt.scanf('%s', buf)
print ' '.join(('%02x' % ord(c)) for c in buf.raw)
print buf.value
こちらは動きます
バッファオーバーランとかの突っ込みはなしでおながいします
596デフォルトの名無しさん
2010/04/14(水) 14:16:47 ImmGetCompositionString(himc, GCS_COMPSTR, byref(buf), 0) は?
597デフォルトの名無しさん
2010/04/14(水) 14:54:02 ImmGetCompositionStringの第4引数を0 => len(buf)あるいは1024
598デフォルトの名無しさん
2010/04/14(水) 14:55:20 ImmGetCompositionStringの
3つ目の引数はLPVOIDだけど
char*として扱っていいのか?
3つ目の引数はLPVOIDだけど
char*として扱っていいのか?
599デフォルトの名無しさん
2010/04/14(水) 15:01:11600デフォルトの名無しさん
2010/04/14(水) 15:10:26 なんでPythonスレはあんなに荒れているのに、このスレはこんなに平和なのか。
601デフォルトの名無しさん
2010/04/14(水) 15:14:50 >>597
print ImmGetCompositionString(himc, GCS_COMPSTR, buf, len(buf))
print ' '.join(('%02x' % ord(c)) for c in buf)
print buf.value
で大丈夫でした
あと
変換中の文字列が len(buf) の長さよりも長いとき
ImmGetCompositionString の戻り値は 0 になるみたいです
ありがとうございました
print ImmGetCompositionString(himc, GCS_COMPSTR, buf, len(buf))
print ' '.join(('%02x' % ord(c)) for c in buf)
print buf.value
で大丈夫でした
あと
変換中の文字列が len(buf) の長さよりも長いとき
ImmGetCompositionString の戻り値は 0 になるみたいです
ありがとうございました
602デフォルトの名無しさん
2010/04/14(水) 23:25:34603デフォルトの名無しさん
2010/04/15(木) 00:41:12 >>602
こっちくんな
こっちくんな
604デフォルトの名無しさん
2010/04/15(木) 17:50:47 ヘ⌒ヽフ
( ・ω・) dd
/ ~つと)
( ・ω・) dd
/ ~つと)
605デフォルトの名無しさん
2010/05/02(日) 19:20:41 C++アプリにPythonを組み込んでみたいんだけど、
BlenderってアプリはPCにPythonをインストールしてないとPython動かせないじゃないですか。
アプリからPythonスクリプトを実行するにはPython環境を必要とするものなんですか?
あとマルチコアCPUだと実行が遅くなるって本当ですか?
BlenderってアプリはPCにPythonをインストールしてないとPython動かせないじゃないですか。
アプリからPythonスクリプトを実行するにはPython環境を必要とするものなんですか?
あとマルチコアCPUだと実行が遅くなるって本当ですか?
606デフォルトの名無しさん
2010/05/02(日) 21:37:41 Ruby使うと良いよ
607デフォルトの名無しさん
2010/05/02(日) 22:17:28608デフォルトの名無しさん
2010/05/03(月) 12:46:46 cython
609デフォルトの名無しさん
2010/05/05(水) 10:14:49 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
610デフォルトの名無しさん
2010/05/28(金) 09:39:44 保守age
611デフォルトの名無しさん
2010/05/29(土) 12:08:14 リバースエンジニアリング ―Pythonによるバイナリ解析技法が欲しい
612デフォルトの名無しさん
2010/06/11(金) 19:47:46 LLでバイナリってのも今ひとつ何をねらってるのかよくわからんな
613デフォルトの名無しさん
2010/06/11(金) 19:58:26 C言語でsegvしながらガリガリ切り貼りするよりだいぶ楽なことが多いと思う
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 千晴におちんちん舐めてもらいたい♥
- ✋🏿( ・᷄ὢ・᷅ )どうも、VIPの堕天使ベルゼブブです
- 日本政府さん、中国が開示した音声データに対して捏造であるとなぜか主張しない!それなのにネトウヨは捏造捏造と連呼する模様 [472617201]
- 姉は貧乳で妹は巨乳ってパターンよくあるよな
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
