現状 slack (free) を使ってるけど、他にいいの無いかなぁ...
feture | slack(free) | Discord(free) | |
---|---|---|---|
過去ログ | 10000件まで | 無制限 | |
ファイルのアップロード | 全部で5GBまで | 一回のアップロードが8MB | |
カスタム絵文字 | 使える | 最大50個 | |
ユーザーアカウント | チームごとに別々 | グローバルなアカウントがある |
import Data.Char (chr) | |
brainfuck :: String -> IO String | |
brainfuck cmds = loop ([], (return 0), (repeat $ return 0)) 0 [] | |
where | |
max = length cmds | |
loop :: ([IO Int], IO Int, [IO Int]) -> Int -> [IO Char] -> IO String | |
loop (xs,y,zs) index outs | |
| index == max = sequence (reverse outs) | |
| otherwise = cnd (cmds !! index) |
import Control.Applicative (liftA2) | |
import Data.List (unfoldr) | |
import Data.Tuple (swap) | |
solve :: Int -> [Int] | |
solve = fmap (radix10 3 . uncurry gen) . filter (uncurry check) | |
. zip [(2,0),(1,0),(0,1),(0,2)] . repeat . radix 3 | |
check :: (Int, Int) -> [Int] -> Bool | |
check (x,y) = liftA2 (&&) (not . null) ((== x) . head) . dropWhile (== y) . reverse |
import java.io.BufferedReader; | |
import java.io.InputStreamReader; | |
import java.util.ArrayList; | |
import java.util.function.Consumer; | |
public class Main { | |
public static void main(String[] args) throws Exception { | |
System.out.println("hello!!!"); | |
CanvasObj obj = Graphics.builder() | |
.newGroup() |
def radix(d: Int, n: Int): List[Int] = { | |
def loop(x: Int): List[Int] = | |
if (x == 0) Nil else { val a = x / d; val b = x % d; b :: loop(a) } | |
loop(n).reverse | |
} | |
def isPalin(ns: List[Int]): Boolean = ns == ns.reverse | |
def isMultiPalin(n: Int): Boolean = | |
(2 to n).toList.map(radix(_, n)).count(xs => xs.length > 2 && isPalin(xs)) >= 2 |
import Data.List (unfoldr) | |
import Data.Tuple (swap) | |
solve :: Int -> Int | |
solve n = head $ filter isMultiPalidromic [n..] | |
isMultiPalidromic :: Int -> Bool | |
isMultiPalidromic n = countTwo . filter isPalidromic' $ map (`convertRadix` n) [2..n] | |
isPalidromic :: [Int] -> Bool |
module Main where | |
import Data.Maybe (isJust) | |
import Text.Read (readMaybe) | |
import Control.Monad (join) | |
main :: IO () | |
main = do | |
let initState = (Nothing, GradesCounter 0 0 0 0) | |
_ <- doWhileM updateGrade (isJust . fst) initState |
init by gas-hub, just delete this file. |
function hunt() { | |
var prop = PropertiesService.getScriptProperties().getProperties(); | |
/* Load Spread Sheet */ | |
var sheet = SpreadsheetApp.openById(prop.SPREAD_SHEET_ID).getSheetByName(prop.SHEET_NAME); | |
var names = sheet.getRange(1, 1, prop.ROW_NUM, 2).getValues(); | |
Logger.log(names); | |
var unuseNames = names.filter( | |
function(row){ |
function doPost(e) { | |
var prop = PropertiesService.getScriptProperties().getProperties(); | |
const BOT_NAME = 'hunter'; | |
const BOT_ICON = 'http://drive.google.com/uc?export=view&id=' + prop.ICON_ID; | |
if (prop.VERIFY_TOKEN != e.parameter.token) { | |
throw new Error("invalid token."); | |
} |