[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 03/10 03:56 / Filesize : 19 KB / Number-of Response : 65
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【JS,PHP,Python】スクリプト,バトルロワイヤル30【Perl,Ruby】



1 名前:デフォルトの名無しさん [2013/03/08(金) 13:01:05.08 ]
JavaScript, Perl, PHP, Python, Ruby, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!

■ スクリプト言語の用途
Webアプリ、シェルスクリプト

■ スクリプト言語の特徴
実行速度に優れているわけではないが、
取り回しに優れ、コードの作成や修正が容易、プログラマの負担が軽い!
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。

長いコードはここで
ttp://play.island.ac/codepaste/

【Perl,Python,PHP】LL バトルロワイヤル 29【JS,Ruby】
toro.2ch.net/test/read.cgi/tech/1361576195/

2 名前:uy mailto:sage [2013/03/08(金) 13:27:38.88 ]
Rubyが最強だろ

終了

3 名前:デフォルトの名無しさん mailto:sage [2013/03/08(金) 13:40:31.96 ]
            ____
         __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ   ←Lua
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんなんですか?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.   ここ、どこですか?
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんであたし
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   貼られたんですか?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l

4 名前:デフォルトの名無しさん [2013/03/08(金) 16:23:27.10 ]
d.hatena.ne.jp/kazu-yamamoto/20130308/1362724125

5 名前:uy [2013/03/08(金) 22:33:17.12 ]
>>僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在では静的な Haskell を主に使っている。

この時点でバカ
この人はえらそうに文章かいていいレベルじゃない

6 名前:デフォルトの名無しさん [2013/03/08(金) 23:30:22.81 ]
特にプログラムの勉強もしたことのない低学歴の平凡な素人がお遊びで作ったPHPスタンドアロンアプリ。

hcapp.rakusaba.jp

7 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 06:40:42.03 ]
>>2
その最強()ルビーを本家ルビーよりも早く動かせるTopazのPython最強だな。

8 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 07:15:11.81 ]
JavaもREPLあるからスクリプト言語だよね

www.scravy.de/blog/2012-02-27/a-read-eval-print-loop-for-java.htm



Java最強

9 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 07:27:00.08 ]
1 宿題の丸投げという行為はカンニングと同等。学則による処分の対象
2 丸投げした質問者もそれを知って回答した回答者も大学の単位認定業務の
 妨害、すなわち偽計業務妨害
3 宿題の問題は著作物であり、それをアップローダやスレに投稿する事は
 公衆送信権の侵害。うpを唆しているテンプレは著作権侵害の教唆

違法行為が前提で成り立つスレなので、次スレは立てずにこのスレで終了

10 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 08:45:27.72 ]
2・3スレ前で「お題」が出て色んな言語で解いていたのが一番良かった。

自分が使っていない言語の回答を見て、
ああこんな解き方があるのかととても参考になったよ。



11 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:01:33.02 ]
s.ameblo.jp/ado-doa/entry-11225829601.html
心理学者フィリップ・ジンバルド は1969年、人が匿名状態にある時の行動特性を実験により検証した。
その結論は、「人は匿名性が保証されている・責任が分散されているといった状態におかれると、
自己規制意識が低下し、『没個性化』が生じる。
その結果、情緒的・衝動的・非合理的行動が現われ、また周囲の人の行動に感染しやすくなる。」
というものであった。

12 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:06:47.71 ]
>>10
スレタイ変えなくても、御題出すだけで
C#厨やJava厨は排除できたよね
あいつら口だけでコード書けないから

13 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:13:25.82 ]
お題なんて意味ないわ

機能が豊富な言語、シンタックスシュガー満載な言語、
関数型の言語が短くかけるのは分かりきってる。

コードの短さなんてのは言語の評価する視点の一つに過ぎない

14 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:18:39.81 ]
>>12
コード書けないとは、どういうことを意味するのかな。

15 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:21:03.28 ]
ちょっと昼にでも本屋行ってオッパイソンの本買ってくる

16 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:21:22.82 ]
>>12
C#厨、Java厨なんて呼んで召喚したいわけね

17 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:34:01.44 ]
>>14
プログラマじゃないんじゃね?
それでも「IDEが〜」とか書くことくらいは出来る

18 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:55:42.24 ]
お題
こんな感じにコマンドラインで動くTODO管理アプリを作りなさい

$ ./todo add "本屋でPythonの本を買ってくる"
$ ./todo add "たいやきを買ってくる"
$ ./todo list
1: 本屋でPythonの本を買ってくる
2: たいやきを買ってくる
$ ./todo done 2
$ ./todo list
1: たいやきを買ってくる

アドリブも可

19 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 09:58:45.00 ]
あ、>>18訂正。$ ./todo done 1 でお願いします
番号が繰り上がることに注意(そうしないと後々 todo done 189203 とかしなきゃならなくなるので)

20 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:03:39.23 ]
>>18
TODを知らないからお呼びでないのだが、
done 2
これどういう意味なの?



21 名前:20 mailto:sage [2013/03/09(土) 10:05:08.87 ]
かぶったか。了解。

22 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:18:08.88 ]
可変長のリストの入力に対して固定長のリストを出力したいのですが
足りない部分を先頭の要素から0で埋めようと思います

例:出力が固定長 5 のとき
入力 [1, 3] 出力 [0, 0, 0, 1, 3]
入力 [2, 1, 3] 出力 [0, 0, 2, 1, 3]
入力 [5, 4, 2, 1, 3] 出力 [5, 4, 2, 1, 3]

一番シンプルに書ける言語はどんなのがありますか?

23 名前:20 mailto:sage [2013/03/09(土) 10:25:31.22 ]
>>22
Prolog

24 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:30:02.10 ]
>>22
Python

xs = [1, 3]
print(([0] * 5 + xs)[-5:])

25 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:35:08.59 ]
>>18
$ cat todo
#!/usr/bin/env python

import sys
import os
import pickle

if os.path.isfile('todo.dat'):
    with open('todo.dat', 'rb') as fp:
        todo = pickle.load(fp)
else:
    todo = []
if sys.argv[1] == 'list':
    for x in enumerate(todo, 1):
        print('%s: %s' % x)
elif sys.argv[1] == 'add':
    todo.append(sys.argv[2])
elif sys.argv[1] == 'done':
    todo.pop(int(sys.argv[2]) - 1)
with open('todo.dat', 'wb') as fp:
    pickle.dump(todo, fp)

26 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:40:12.87 ]
>>25
pythonが開発効率一位か

27 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 10:42:36.85 ]
>>24
おもしろい記法があるものだな。

28 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 11:50:36.85 ]
>>18
@Mathematica

reset 機能を追加。

In:= toDo[mode_,action_:""]:=Module[{todofile,todolist},

 todofile="todo.txt";

 todolist=Import[todofile,"Text"]//
  StringSplit[#,"¥n"]&;

 Which[
  mode == "add",
   Append[todolist,action]//
    Export[todofile,#]&;,
  mode == "list",
   todolist//
    MapIndexed[{ToString[#2[[1]]]<>":",#1}&,#]&//
    Grid,
  mode == "done",
   Drop[todolist,{action}]//
    Export[todofile,#]&;,
  mode == "reset",
   {}//
   Export[todofile,#]&;
  True,
   {}]
];

29 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 11:58:23.92 ]
>>22
@Mathematica

In:= lst = {1,3};
In:= PadLeft[lst,5]
Out:= {0,0,0,1,3}

リストのゼロ埋めは良く使うので、
組み込み関数として最初から持ってる言語も多いのでは。

>>24
def padLeft(lst, n):
 return (([0] * n + lst)[-n:])

↑自分の Python ライブラリに追加しとくわ ノシ

30 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:02:12.76 ]
入力長 > 出力長
のときの動作が未定義



31 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:25:10.44 ]
>>30
Mathematica だと、こうなる。

In:= PadLeft[{6,5,4,2,1,3},5]
Out= {2, 3, 4, 5, 6}

Python だとこんな感じかな。

def padLeft(lst, n):
 if len(lst)>n:
  return lst[-n:]
 else:
  return (([0] * n + lst)[-n:])

32 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:29:21.74 ]
>>31
Pythonのその条件分岐は無くても同じ

xs = [1,2,3,4,5,6,7,8]
print(([0] * 5 + xs)[-5:]) #=> [4, 5, 6, 7, 8]

33 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:32:19.79 ]
>>32
ほんとだ。

ついでに padRight も。

def padRight(lst, n):
return ((lst + [0] * n)[:n])

34 名前:33 mailto:sage [2013/03/09(土) 12:33:45.72 ]
インデントが消えてしまった。連投スマソ。

def padRight(lst, n):
 return ((lst + [0] * n)[:n])

35 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 12:59:45.16 ]
perl

>>18
use 5.016;
use warnings;
use Tie::File;

tie my @list, 'Tie::File', 'todo.dat' or die $!;

given($ARGV[0]){
    when('add'){ push(@list, $ARGV[1]) }
    when('list'){ print map{ "$_: $list[$_ - 1]\n" } (1 .. @list) }
    when('done'){ splice(@list, $ARGV[1] - 1, 1) }
    default{ say "$0 usage: (add todo/list/done number)" }
}

>>22
my @l = (1, 3);
my @r = ((0) x 5, @l)[@l .. $#l + 5];

36 名前:デフォルトの名無しさん [2013/03/09(土) 13:19:16.57 ]
>>31
なんで順番かわるんだろ

37 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 13:21:07.05 ]
>>35
perl は二度と使いたくないと決心を新たにしました。

38 名前:31 mailto:sage [2013/03/09(土) 13:25:49.63 ]
>>36
ごめん。貼り付ける計算結果を間違えた。orz

正しくは、

In:= PadLeft[{6, 5, 4, 2, 1, 3}, 5]
Out= {5, 4, 2, 1, 3}

39 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 13:50:02.25 ]
完動品として、>>18を俺ならこう作る
#!/usr/bin/perl
use strict;
use warnings;

my ($com, $msg) = @ARGV;
open(my $FH, "+<", "todo.data") || die("ファイルが開けない");
flock($FH, 2);
my @data = <$FH>;

if (!defined $com || $com eq "") {
print "todo [add | done | list] [value]\n";
} elsif ($com eq 'add') {
push (@data, $ARGV[1]."\n");
} elsif ($com eq 'done') {
splice(@data, ($ARGV[1] - 1), 1);
} elsif ($com eq 'list') {
for (my $i=0; $i<scalar @data; $i++) { print $i + 1 , ':', $data[$i]};
}

seek($FH, 0, 0);
print $FH $_ for (@data);
truncate ($FH, tell($FH));
exit;

40 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 13:57:24.34 ]
$msg に値入れてるのにARGV[1]見てるのは、ちょっとした茶目っ気



41 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 14:29:05.12 ]
少ないな、もっと色々な言語の人くれよ

42 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 14:33:01.43 ]
>>35って配列をファイルに書きだすコード抜けてる?って思ったら
Tie::Fileだと配列への変更がファイルに反映されるのか
search.cpan.org/~toddr/Tie-File-0.98/lib/Tie/File.pm

やはりあなどれないPerlあなどれない

43 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 14:38:25.99 ]
Perl好きな俺が言うのもなんだけどタイはわかりにくい・・・

44 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 18:09:12.85 ]
Thailand

45 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:08:30.26 ]
おぉ?RubyやPHPのソースがないんじゃないか?
雑談の時は賑やかなのにソース晒すとなったら静かだなおい

46 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 19:36:50.88 ]
rubyのひとは2chにソース貼るの極端に嫌う
著作権が自動的に2chに譲渡されるとか何とか

47 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 20:30:12.74 ]
>>18
require "yaml"

filename = "todo.yaml"
todo = File.exists?(filename) ? YAML.load_file(filename) : []

case ARGV[0]
when "add"
todo << ARGV[1]
YAML.dump(todo, open(filename, "w"))
when "list"
todo.each_with_index {|s, i| puts "#{i + 1}: #{s}" }
when "done"
idx = ARGV[1].to_i - 1
todo.delete_at(idx)
YAML.dump(todo, open(filename, "w"))
end

>>22
xs = [1,3]
p [0] * (5 - xs.size) + xs

別にruby詳しいわけじゃないから推奨されてない書き方してるかも

48 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 20:42:36.02 ]
>>46
それをやたら主張する人が一時期いたんだよな

49 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 20:57:35.20 ]
>>46
Ruby処理系のパッチなんかを2chに貼ると怒られることはあるけど
お題の答えを貼るのまで嫌がったり問題視したりはしてないはず

50 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 21:06:29.34 ]
>>46>>49
それじゃオープンソースアプリの一部をコピペしたりしたら、
その一部が2chの著作物になるのか?
そんな主張が認められるのか?
だとしたら、コピペしまくれば2ch所有のソースばかりになるな



51 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 21:12:53.25 ]
それってソースコードに限らないだろうし、とんでもないことになるよね
市販の小説をコピペしても2chの著作物になるなんて

52 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 21:17:58.60 ]
>>50
バトンといっしょで権利を持たない人から権利を承継することはない
だから誰かの著作物であるソースを2chにコピペしても2chが著作権を取得することはない
49で書いたのは「Rubyに不具合あったのでここ(2ch)にパッチ貼っちゃいますね」的な事例

53 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 21:18:07.75 ]
クソスレ

54 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 21:36:39.84 ]
たまにはガウチェ(゚д゚)!使いさんの回答を見たい

55 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 22:29:32.32 ]
なるほど、Rubyユーザーはバグ見つけても上流にパッチ投げないクソが多いんですね

56 名前:デフォルトの名無しさん mailto:sage [2013/03/09(土) 23:05:27.22 ]
xs=[1,3]
(5-xs.size).times{xs.unshift(0)}

57 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 01:00:11.68 ]
いつまで僕らはdankogaiを崇め続けなければならないのか
anond.hatelabo.jp/20130309205518

Perlのためにdankogaiがたくさんコードを書いて貢献したのは知っている。
で、その貢献とやらは何十年にも渡って僕らが崇め続けなければならないほど凄いものだったのか?
僕らはいつまでdankogaiに「凄いですねー」ってご機嫌を取り続けないといけないの?
英語圏でこれほどまでに自分の過去の貢献を誇示し続けるOSSプログラマって少ないよ。
dankogaiがいつまでも過去の貢献を振りかざし続けるのはもうそれは老害と言われても仕方が無いんじゃないかなあ。
古参OSSプログラマがみんな過去の貢献にあぐらをかいて若者を見下すようになったらOSSは確実に終わる。

58 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 01:33:09.13 ]
>>57
これ書いたの誰かわかるわ〜w
まあ同意だけど

59 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 01:35:43.28 ]
Perlの連中はわざわざこんなエントリ書かなきゃならんのか
ご愁傷様

60 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 02:04:37.36 ]
Twitter界隈でここんところPerlがディスられてたが
ついにこのスレに飛び火したかw



61 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 02:21:10.61 ]
perl撲滅されたら困るんですね
よくわかります

62 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 02:25:17.22 ]
dankogaiもライブドア事件のときに朝生でKYな存在だったのに
書評をコンスタントに書くだけでなぜか重鎮的な地位を手に入れたよな
あれは不思議で仕方なかった

63 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 02:40:17.43 ]
係属は力なり

64 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 02:47:21.58 ]
祇園精舎の鐘の声






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<19KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef