Language detail: Other
Coverage: 62.77%
|
number of '+' ratings |
contribution for coverage |
Unsolved challenges
- LL Golf Hole 9 - トラックバックを打つ (Nested Flatten)
- echoクライアント (Nested Flatten)
- LL Golf Hole 4 - 文章から単語の索引を作る (Nested Flatten)
- tailの実装 (Nested Flatten)
- lessの実装 (Nested Flatten)
codes
音声合成でHello, world!
(Nested
Flatten)
uwscのマニュアルには「要SAPI 5.x」とあります。 コントロールパネルに「音声認識」があれば使えるようです。
1 2 3 | SPEAK("Hello, world!")
SPEAK("こんにちは")
SPEAK("どう書くorg、それはプログラマの為のコロシアムです。")
|
隣り合う二項の差
(Nested
Flatten)
VBA for Excel (2003) カラムAに縦に並べて数値を入れておくと、 カラムBに差分を表示する。
1 2 3 4 | Sub Main()
Range("B1") = "=IF(ISBLANK(A2),"""",A2-A1)"
Range("B1").Resize(Range("A1").End(xlDown).Row).FillDown
End Sub
|
LL Golf Hole 3 - 13日の金曜日を数え上げる
(Nested
Flatten)
VBA for Excel (2003)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub Main()
t = Date
p = 0
Do
If DateValue("2013/12/31") = t Then
Exit Do
End If
If Day(t) = 13 And Weekday(t) = 6 Then
Range("A1").Offset(p) = t
p = p + 1
End If
t = t + 1
Loop
End Sub
|
LL Golf Hole 5 - 最上位の桁を数え上げる
(Nested
Flatten)
VBA for Excel (2003)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub Main()
n = Val(InputBox(""))
m = 0
p = 0
Do
Range("A1").Offset(p) = m
If m = n Then
Exit Do
End If
l = Len(Str(m)) - 2
m = m + 10 ^ l
p = p + 1
Loop
End Sub
|
LL Golf Hole 7 - バイト数を読みやすくする
(Nested
Flatten)
phpがないようなので。CLI版の標準入力からです。
ヨタの上ってないのでしょうか?
1 | <?php $l=array('','K','M','G','T','P','E','Z','Y','?');$b=$argv[1];for(;$b>=1024;++$i){$b/=1024;}echo $b,$l[$i];
|
VBA for Excel (2003)
1 2 3 4 5 6 | Sub Main()
b = Val(InputBox(""))
i = Int(Log(b + 0.1) / Log(1000))
p = b / 1000 ^ i
MsgBox p & IIf(i > 0, Mid("kMGTPEZY", i, 1), "")
End Sub
|
文字列型日時ののN秒後時間取得
(Nested
Flatten)
VBA for Excel (2003)
1 2 3 4 | Function DateEx(str, sec)
p = InStr(str, " ")
DateEx = DateValue(Left(str, p - 1)) + TimeValue(Right(str, Len(str) - p)) + sec / 86400
End Function
|
LL Golf Hole 8 - 横向きのピラミッドを作る
(Nested
Flatten)
VBA for Excel (2003) 短くしました。
1 2 3 4 | Sub Main()
i = Val(InputBox(""))
Range("A1").Resize(i * 2 - 1) = "=REPT(""*""," & i & "-ABS(ROW()-" & i & "))"
End Sub
|
VBA for Excel (2003)
1 2 3 4 | Sub Main()
i = Val(InputBox(""))
Range("A1").Resize(i * 2 - 1).Formula = "=REPT(""*"",IF(ROW()<=" & i & ",ROW()," & i & "*2-ROW()))"
End Sub
|
指定されたフォルダ以下のゴミ掃除
(Nested
Flatten)
VBA for Excel (2003)。デストローイ。ノーフューチャー。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Sub Main()
Dim p, o
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
p = .SelectedItems(1)
Set o = CreateObject("Scripting.FileSystemObject")
Call Df(p, o)
End With
End Sub
Sub Df(p, o)
Dim f, d
With o.GetFolder(p)
For Each f In .Files
If Right(f.Name, 1) = "~" Then
f.Delete
End If
Next
For Each d In .SubFolders
Call Df(p + "\" + d.Name, o)
Next
End With
End Sub
|
LL Golf Hole 8 - 横向きのピラミッドを作る
(Nested
Flatten)
午後のLTでGrassが発表されるらしいので書いてみました。
irie氏作のgrass.elを使ってLispコードから翻訳しています。
see: 元コード・実行結果等
1 2 3 4 5 6 7 8 9 | wwWWwwWwwvwwWWWwWWWwvwWWwWwvwwwWWWwwWwwWWWWwvwvwWWwwwvwwWWwWWWwvwWWWWwwvwwwwWWW
wWwwwwwWwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWwWWWWwwwwWwwwwwwwWWWWWWWWWWWWWWWWWWWWw
wwwwwwWWwvwwwwwWWWWWWWWWWWWWWWWwWWWWwWWWWWWWWWWWWWWwWWWWWWWwwwwWWwwwwwwwwwWWwwW
wwwwwwwwWwwwwwwwWWWwwwwwwWwwwwwwwwwwwwwwvwWWWWWWWWWWWWWWWwvwWWWWWWWwWWWWWWwWWwW
WwWWwwwwWwwWWWWWwWWWwWWWWWWWWWWWWWWWwWwwwwWWWWWWWWWWWWWWWwWwwWWwwWWWwWwwwwwwWww
wwWWWWWWWWwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWwWWWwwWW
WWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWwwwWwwWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWwwwwWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwww
|
LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
(Nested
Flatten)
せっかくGrassをLLで紹介させて頂ける機会を頂いたので、ひとつくらいはお題を解いてサンプルコードを投下しておこうと思いますw
文字列は標準入力から読み込んで、半角スペースのみ単語区切り文字として認識します。ASCIIコード前提。詳細はコード中のコメントをご覧下さい。
ベタ書きでチューニングしていないので、もっと短くできるはず。たぶん。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 1wwWWwv
足し算wwwwWWWwwWwwWWWWWWwwwwWwwv
かけ算wwwWWWwWWWwv
定数とかWWwww2Wwwww3WWw4WWww9WWWww
13WWWWWWWwwWww26WWWWWWWWWwWww
169WWWWWWWWwww空白Wwwwwwwwwwwwwww
wWwwwwwwwwwwwwwwwww14WWWWWWWWWW
WWwwwwww16WWWWWWWWWWWWwwwwwwww
ww32WWWWWWWWWWWWWWWWwWww224WW
WWWWWWWWWWWWWWWwwwwWwwww33WWW
WWWWWWWWWWWWWWWwwwAWwwwwwwwww
wwwwwwwwwwwwwwwWwwwwwwwwwv
偽wwv
3つ目取り出しwwwv
三つ組みwwwwWwwwwWwwwwWwwwwv
大文字かどうか判定するループの中身wwwWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWwwW
WWwwwwWWWwwwWwwWWWWWWWWwwwwwww
WwwwwwWwwwv
ループの中身その2wWwwv
大文字かどうか判定するぜwWWWWwWwwwwwwwwWww
wwwwwwWWWWWWWWWWWWWWWWWWWWWW
wwwwwWwwWwwwwwwwwwwv
語の中にいるときwwWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWwWWWwwwv
語の先頭にいるときwWWWWWWWWWWWWwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwWwwWWWWW
wWwwWwwwwwWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWwWWWWWWW
Wwwwwwwwwv
EOFってのはどんな文字を受け取っても真を返す関数だっぜwv
wwwWWWWwwv
空白文字のときwwwWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWwWWWWwww
wwwwv
空白文字じゃないときwwwWWwWWWWwv
空白文字かEOFのときwwwWwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwWw
wwwwwwWwwwwwwWwwwwwwWwwwwwwv
メインループww一文字読み込んでWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWwwwwwwWWWwww空白文字かどうか判定WWww
wwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwWww
wwwwwwWwwwwWwwwwwwwWwwwwwwwv
メインwWWwwWwwwwwwwww
|
LL Golf Hole 8 - 横向きのピラミッドを作る
(Nested
Flatten)
Forthでも書いてみました。
4 PIRAMID で実行できます。
1 2 | : PIRAMID ( n -- )
DUP DUP -1 * 1 + DO DUP I ABS - 0 DO ." *" LOOP CR LOOP DROP ;
|
LL Golf Hole 5 - 最上位の桁を数え上げる
(Nested
Flatten)
あう、 "ARGV[0]" は pop で良い。 28B
1 2 | print"$_
"x/^.0*$/for 0..pop
|
LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
(Nested
Flatten)
先ほどshebang版も投稿しましたが, 1.8.7ならこっちの方が短いですね.
1 | ruby -pe'gsub /\b./,&:upcase'
|
LL Golf Hole 6 - 10進数を2進数に基数変換する
(Nested
Flatten)
old awkです。何の芸もありませんが。
1 2 3 4 5 6 7 8 9 | #!/bin/awk -f
{
n=$1
a=n%2
while((n=int(n/2))>0)
a= (n%2) a
print $1 "->" a
}
|
Hello, world! PDF版
(Nested
Flatten)
PDFも言語ですよね、ということで。
see: 手書きPDF入門
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | %PDF-1.4
1 0 obj
<<
/Type /Page
/Parent 5 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
2 0 obj
<< /Length 53 >>
stream
BT
/F1 90 Tf
1 0 0 1 10 600 Tm
(Hello, World!) Tj
ET
endstream
endobj
3 0 obj
<<
/ProcSet [ /PDF /Text ]
/Font << /F1 4 0 R >>
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /Type1
/Name /Helv
/BaseFont /Helvetica
>>
endobj
5 0 obj
<<
/Type /Pages
/Kids [ 1 0 R ]
/Count 1
/MediaBox [ 0 0 595 842 ]
>>
endobj
6 0 obj
<<
/Type /Catalog
/Pages 5 0 R
>>
endobj
trailer
<< /Root 6 0 R >>
%%EOF
|
クリップボードへの転送
(Nested
Flatten)
next >>
Mac OS Xには pbcopy, pbpasteの名前でシェルから クリップポードを操作するコマンドが 存在します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/usr/bin/env ruby -wKU
if (ARGV.length != 1)
print "Usage: handle_pb [-show] text\n"
end
if ARGV.include?('-show')
print %x{ pbpaste }
else
ENV['PB_COPY_TEXT'] = ARGV[0]
# デフォルトではpbcopyは日本語の場合Shift-JISしか扱えない
%x{ echo $PB_COPY_TEXT | nkf -s | pbcopy }
end
|






匿名
#7569()
[
Other
]
Rating0/0=0.00
Lazy K で 630 byte。 Lazy K のソースに付属している Lazy K コンパイラを使って以下のソースを Lazy-K に 変形し、適当に整形しました。 (load "./lazier.scm") (load "./prelude.scm") (load "./prelude-numbers.scm") (lazy-def '(pred n) '(lambda(f x) (n (lambda(a b)(b (a f))) (k x) i))) (lazy-def '(sub32 x) '(32 pred x)) (lazy-def '(islower x) '(car (x cdr (97 (cons #f) (26 (cons #t) (list-of #f) ))))) (lazy-def '(title f x) '(cons (car x) (f (and (= 32 (car x)) (islower (car (cdr x))) (cons (sub32 (car (cdr x))) (cdr(cdr x))) (cdr x))))) (print-as-unlambda (laze '(Y title)))Rating0/0=0.00-0+