[プログラム]の検索結果


ユーザーローカルが提供しているWikipediaの記述の一部を取得できるWeb APIを、Perlから呼び出す ためのサンプルコード。コードの文字エンコードはUTF-8。標準出力へもUTF-8のまま出力。

#!/usr/bin/perl

use strict;
use warnings;

# for warning "Wide character in print at ..."
binmode(STDOUT, ":utf8");

use URI::Escape;
use LWP::Simple;
use XML::Simple;

my $item = '2ちゃんねる';
$item = uri_escape($item);

my $url = "http://wikipedia.simpleapi.net/api?keyword=$item";
my $content = get($url);

my $xml = XML::Simple->new();
my $response = $xml->XMLin($content);

print "language: $response->{result}->{language}\n";
print "datetime: $response->{result}->{datetime}\n";
print "body    : $response->{result}->{body}\n";
print "strict  : $response->{result}->{strict}\n";
print "length  : $response->{result}->{length}\n";
print "redirect: $response->{result}->{redirect}\n";
print "url     : $response->{result}->{url}\n";
print "id      : $response->{result}->{id}\n";
print "title   : $response->{result}->{title}\n";
[2032] Posted by kagahiro at 2010/09/24 20:05:21
0 point | Link (1) | Trackback (0) | Comment (0)

まず、今回のクイズのしりとりに勝つため私が考えた作戦は、相手(コンピュータ)に、先頭に使用されているより末尾に使用されている数が多いアルファベットの単語から選ばせるようにすれば、そのうち相手が手詰まりになって勝てるだろうというものでした。

そのため、選択肢となる単語に使用されている先頭のアルファベットと末尾のアルファベットの数を調べるためのプログラムを作成し、その結果をもとに以下の優先順位で回答を選択していきました。

1.単語の末尾が先頭の方が少ないアルファベットのもの
2.単語の末尾が先頭と末尾で同じアルファベットのもの
3.単語の末尾が先頭の方が多いアルファベットのもの

例えばLv3の場合、以下のような結果になるので、提示される選択肢の中からできるだけ末尾が、b、f、g、i、k、q、s、u、v、wのものを選択していけば良いということになります。

a :  14   11  >>
b :  11   12  <<!
c :   4    4  ==
e :   4    4  ==
f :  11   12  <<!
g :  11   12  <<!
h :   4    4  ==
i :   4    5  <<!
j :  14   11  >>
k :  11   12  <<!
l :   3    3  ==
m :   4    4  ==
n :   3    3  ==
o :  14   11  >>
p :   4    4  ==
q :  11   12  <<!
r :   3    3  ==
s :  11   12  <<!
t :   4    4  ==
u :  11   12  <<!
v :  11   12  <<!
w :  11   12  <<!
y :   4    4  ==
z :   5    4  >>

--- siritori.pl

#!/usr/bin/perl
#
# GDD 2010 DevQuiz しりとり
#

use strict;
use warnings;

my %alpha_head = ();
my %alpha_tail = ();

open my $infh, '<', "siritori.txt";
while (my $word = <$infh>) {
    chomp $word;
    my $head = substr($word, 0, 1);
    my $tail = substr($word, length($word) - 1, 1);
    $alpha_head{$head}++;
    $alpha_tail{$tail}++;
}
close $infh;

foreach my $key (sort keys %alpha_head) {
    print "$key :" . sprintf("%4d", $alpha_head{$key});
    print " " . sprintf("%4d", $alpha_tail{$key});
    if ($alpha_head{$key} < $alpha_tail{$key}) {
        print "  <<!\n";
    }
    elsif ($alpha_head{$key} > $alpha_tail{$key}) {
        print "  <<\n";
    }
    else {
        print "  ==\n";
    }
}
[2003] Posted by kagahiro at 2010/08/23 17:18:13
0 point | Link (1) | Trackback (0) | Comment (0)


「Google Developer Day 2010 Japan」への参加証を獲得するためのクイズ「DevQuiz」をやってみました。結果はラウンド3のしりとりLv3までクリアして時間切れ終了でした。「パックマン」は難しかったですね。結局、仕様もいまいち理解できてない状態でプログラムを作ってる途中で時間切れになってしまいました。

Twitterを見ると解いている人もいるみたいですが・・・
#gdd2010jp

なんにせよ、クイズにとりかかったのが20日の夜というのは遅すぎました。パックマンの難易度から考えると問題が発表された時点ですぐに始めないとダメな感じですね。次回の教訓にします。

DevQuiz の詳細
Google Developer Day 2010 Japan 公式サイト
@googledevjp on Twitter
[2002] Posted by kagahiro at 2010/08/23 14:08:17
0 point | Link (2) | Trackback (0) | Comment (0)

PHPのプログラムからMySQLに接続し、SELECTでデータを取得する処理のサンプルプログラムです。あらかじめPHPMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3...
[2001] Posted by kagahiro at 2010/08/19 20:04:16
0 point | Link (6) | Trackback (0) | Comment (0)

単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、プログラム内部で取得した文字列の文字エンコードを変換したい場合もあります。以下のプログラムはL...
[1982] Posted by kagahiro at 2010/07/26 09:54:29
0 point | Link (2) | Trackback (0) | Comment (0)

PerlのプログラムからDBI経由でMySQLに接続し、SELECT文でデータを取得する処理のサンプルプログラムです。あらかじめphpMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「user...
[1981] Posted by kagahiro at 2010/07/26 00:12:18
0 point | Link (6) | Trackback (0) | Comment (0)

メールフォームCGI、Q&A CGI、ブックマークCGIをそれぞれバージョンアップしました。HTML::Templateを使用してUIの部分をできるだけプログラムから取り除き、テンプレートファイルで記述するように変更しました。これ...
[1980] Posted by kagahiro at 2010/07/25 18:06:26
0 point | Link (1) | Trackback (0) | Comment (0)

<TMPL_LOOP>タグはセクションを区切り、名前をつけることができます。この名前つきループの内側に<TMPL_VAR>タグを置き、プログラムでパラメータに代入するハッシュ・リファレンスの param() にリスト(配...
[1975] Posted by kagahiro at 2010/07/22 17:36:36
0 point | Link (4) | Trackback (0) | Comment (0)

HTML::Templateの<TMPL_VAR>タグは、プログラムでパラメータに値を設定すると、タグの部分がパラメータで設定された文字列で置き換えられるという簡単なものです。以下は、<TMPL_VAR>タグの使い方を示す...
[1974] Posted by kagahiro at 2010/07/22 13:20:16
0 point | Link (3) | Trackback (0) | Comment (0)

Template Toolkit (TT)は、HTML::Templateなど他のテンプレートと比較してより汎用性の高い処理をすることが可能なテンプレートエンジン。出力をサブルーチンに渡したりファイルに出力することもできる。また、テンプ...
[1969] Posted by kagahiro at 2010/07/20 17:32:51
0 point | Link (2) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  3 4 5 6 7  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. FC2まとめ (5 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  3. 2ちゃんねる(2ch) (5 PV)
  4. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  5. 「RPGツクールMV」製ゲームを簡単にiOS、Androidアプリ化する「Monaca for RPGツクール」 #テクノロジー (3 PV)
  6. Google 日本語入力がオープンソースに (3 PV)
  7. 大人気のブランド品即時買取サービス「CASH」がDMM.comにたったの70億円で買い叩かれる (2 PV)
  8. 無料ダイヤルアッププロバイダ「Soloot(ソルート)」 (2 PV)
  9. FC2ブログにコミュニティ機能 (2 PV)
  10. ほしい物リスト (2 PV)

今月のアクセスランキング TOP 10

  1. FC2まとめ (13 PV)
  2. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  3. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (8 PV)
  4. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  5. 「Kindle for the Web」 (5 PV)
  6. 2ちゃんねる(2ch) (5 PV)
  7. FC2ブログにコミュニティ機能 (4 PV)
  8. MySQLのINSERT ... SELECT文でLIMIT句を使用して上位3件のレコードをテーブルに追加する (4 PV)
  9. Jipanguの配布は終了しました (4 PV)
  10. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (4 PV)

アクセス統計

ディレクトリ

関連サイト