Skip to content

Instantly share code, notes, and snippets.

@tmyt
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tmyt/392d64d72c6faa730fc2 to your computer and use it in GitHub Desktop.
Save tmyt/392d64d72c6faa730fc2 to your computer and use it in GitHub Desktop.
Aristea フィルタ式 リファレンス

Aristea Timeline Filter Expression

この資料はAristeaで使用できるタイムラインフィルタ言語のリファレンスです。 Aristeaでは式がtrueに評価されたとき、専用のリストに抽出されます。

3種類の型があります。

  • 文字列
  • 数値
  • 真偽値

文字列

'(シングルクオート)および、"(ダブルクオート)どちらかでくくることで文字列として 識別します。どちらの場合でも評価結果に違いはありません。

数値

整数、浮動小数ともに解釈します。比較時に適切な型へ内部的にキャストされるため、 通常、整数、小数を意識する必要はありません。

真偽値

true および、false と比較することができます。 比較には==, != 演算子が使用できます。

また、!や&&, || といった演算子を適用することもできます。

演算子

以下の演算子が使用できます。

  • すべての型に使用可能
    • ==
    • !=
  • 文字列
    • =~ (Regex.IsMatch(rhs) perlの正規表現みたいな感じ)
    • =@ (string.Contains(rhs))
    • ==i (大文字小文字を区別しない比較)
    • !=i (大文字小文字を区別しない比較(not equals))
    • =@i (大文字小文字を区別しない string.Contains(rhs))
    • !=@ (!string.Contains(rhs))
    • !=@i (大文字小文字を区別しない !string.Contains(rhs))
    • !~ (!Regex.IsMatch(rhs) perlの正規表現みたいな感じ)
  • 数値
    • =

    • <=
    • <
  • bool
    • !
    • &&
    • ||

変数

twitterのstatus構造体で定義されているすべてのメンバにアクセスできます。 フィルタ式では、メンバと同じ名前でアクセスできます。

e.g.

  • text
  • entities.hashtags.length
  • entities.urls[0].expanded_url
  • user.screen_name

status構造体の詳細については、Tweets | Twitter Developersを参照してください。

拡張変数

twitterのstatus構造体で定義されているメンバに加え、aristeaメンバが追加されました。 このメンバでは現在以下のプロパティが使用出来ます。

  • has_thumbnail: bool
    • サムネイルがある場合にtrue

配列マッチ

Aristea 0.9.6で配列記法が追加されました。この機能は、いままで同じメンバに対しての評価を || 演算子で連結していたものが簡単にかけるようになります。

配列は { "hoge", "fuga", "piyo" } のように書き、要素の型はそれぞれが同一である必要はありますが、全体としては文字列、数値、真偽値のいずれも使用することができます。

以下に使用例を示します。

従来記法

  • text =@ "hoge" || text =@ "fuga" || text =@ "piyo"

配列記法

  • text =@ {"hoge", "fuga", "piyo"}

このとき、使用可能な演算子は配列の要素に適用可能なものに順じます。

使用例

  • source != "Web"
  • entities.hashtags.length > 0
  • user.favorites > 3000
  • text =@ "hoge"
  • text =~ "あ-ん"

例外

  • 式の処理中に例外が発生した場合、式はfalseに評価されます。

nullチェック

  • nullになる可能性のある値は、すべて自動でnullチェックされます。
  • 式で使用している変数にnullが含まれた場合、式全体としてfalseに評価されます。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment