#-*- coding: utf-8 -*-
mikutterで投稿する際に,@shellや@shell_pに向けたポストを シェルコマンドとして解釈し,実行します. コマンドの実行結果がシステムメッセージとして自分のタイムラインに流れてきます.
mikutterコンソールに入力するのと同じです. エラー等があった場合は,その旨をシステムメッセージとして表示します.
ここに向けたリプライは10秒でtimeoutします. pingとか叩いた場合でも自動で終了するので安心です.
pはpersistのpです.ここに向けたコマンドはtimeoutしません. シェルを立ち上げたりするときに便利です.
Rubyで実行します.
Pythonで実行します.
Perlで実行します.
Cのソースとして解釈し,コンパイルしてから実行します.
C++のソースとして解釈し,コンパイルしてから実行します.
入力されたソースをファイルに書き,指定したprogramを用いて実行します. optionsを指定することもできます.
入力されたソースをファイルに書き,指定したcompilerを用いて実行します. optionsを指定できます. コンパイル後はexec commandを実行します.
入力されたテキストをGoogleで検索します.
入力されたテキストをGoogleMapsで検索します.
入力されたテキストにブラウザでアクセスします.
ユーザを直接表示します.
中央町の郵便番号を検索します.
先頭が051-00からはじまる郵便番号を検索します.
weather_jp gem が必要です. [when]の[where]の天気[suffix] という形式で天気を検索して表示します. when は今日,明日,明後日,3日後,4日後まで指定でき、地名はある程度の表記揺れを許容します. 例えば “明日の金閣寺の天気教えて” でも京都府北区の天気を検索できます. これは weather_jp gem の実装に依存しています.
IC認証用のIDを登録します. ICカードリーダにカードを置いてリプライを飛ばしてください. 未登録の場合はICカードIDが登録されます.
投稿する際に#{}によってRubyの式を記述することができます.たとえば,
2 ** 10 = #{2 ** 10}
と入力してCtrl-Enterすれば,式が展開され,投稿ボックスの内容が
2 ** 10 = 1024
に変わります.内部的にはmikutter consoleの動作とほぼ同じです.
- @shell uptime
- @shell_p gnome_terminal
- @shell_rb 10.times { |x| puts x }
- @shell_py print “10 * 20 = %d” % (10 * 20)
- @shell_pl print 3 * 9 * 3 * 9
- @whois penguin2716
- C++のコード例
@compile [src.cpp] [./a.out] g++ #include <iostream> using namespace std; int main(void) { cout << "Hello, world!" << endl; return 0; }
- Javaのコード例
@compile [Hello.java] [java Hello] javac import java.awt.*; import java.awt.event.*; import javax.swing.*; class Hello { public static void main(String args[]) { JFrame frame = new JFrame("Java on mikutter"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.setSize(250,100); JButton button = new JButton("Exit"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); frame.add(new JLabel("Java on mikutter"), BorderLayout.NORTH); JPanel panel = new JPanel(); panel.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 20)); panel.add(button); frame.add(panel, BorderLayout.CENTER); frame.setVisible(true); } }
- gnuplotのコード例
@script gnuplot -p v0 = 0 g = 9.8 set yrange [0:10] set xrange [0:2] set xlabel "time [sec]" set ylabel "height [m]" set title "Free Fall" unset key plot v0 * x + 0.5 * (-g) * x **2 + 10 linewidth 2
ICカードリーダを持っている方は,ICカードで認証することができます.
opensc-tool -a
というコマンドでカードのIDを取得しているので, 利用したい場合はここまで動作するように設定して下さい(詳細はググってください). 認証が成功すると,ツイート末尾に[IC認証済]というフッタがつきます. 登録済みのICカードIDは valid_id に保存されます.
@shellや@shell_pに向けてリプライを飛ばしたい. => 右側の投稿ボタンを押せばリプライとして投稿できます.