lang Unlambda
※CodeIQの実行くんやIDEONEで標準入力を取得できないためCodeIQで解ける問題には限りがある
- IDEONEでは標準入力を取得できない!?
- fを保持し引数xを受け取るとf(x)を実行して結果を返す関数
- fを保持し引数xを受け取るとf(x)を実行してxを返す関数
- fを保持し引数xを受け取るとf(x)を実行してyを返す関数
- fを保持し引数xを受け取るとf(x)を実行してfを返す関数
- xを保持し引数fを受け取るとf(x)を実行して結果を返す関数
- xを保持し引数fを受け取るとf(x)を実行してyを返す関数
- fとxを保持し引数yを受け取るとf(y)(x)を実行して結果を返す関数
- f(x)を2回実行してxを返す
- f(x)を3回実行してxを返す
- f(x)を4回実行してxを返す
##IDEONEでは標準入力を取得できない!?
どうもソースコード自体が標準入力から入力されている感じ?
input(stdin)に文字を書き込んだ場合(読み取られず、当然ながら表示できない)
http://ideone.com/bOwDza
ソースコードに続けて文字を書き込んだ場合(読み取り表示される)
http://ideone.com/awlrhx
##fを保持し引数xを受け取るとf(x)を実行して結果を返す関数 これ要らないぽげ http://ideone.com/5BUsys
# fを保持し引数xを受け取るとf(x)を実行して結果を返す関数
# s( k( f ) )( i )
``s`kfi
# これiでいいやん
# i( f )
`if
# むしろただのfやん
f
##fを保持し引数xを受け取るとf(x)を実行してxを返す関数 http://ideone.com/Czauyz
# fを保持し引数xを受け取るとf(x)を実行してxを返す関数
# s( k )( f )
``skf
##fを保持し引数xを受け取るとf(x)を実行してyを返す関数 http://ideone.com/D8YMBO
# fを保持し引数xを受け取るとf(x)を実行してyを返す関数
# s( k( k( y ) ) )( f )
``s`k`kyf
##fを保持し引数xを受け取るとf(x)を実行してfを返す関数 http://ideone.com/JfbYrR
# fを保持し引数xを受け取るとf(x)を実行してfを返す関数
# s( s( k( s ) )( s( k( k ) )( k ) ) )( i )( f )
```s``s`ks``s`kkkif
##xを保持し引数fを受け取るとf(x)を実行して結果を返す関数 http://ideone.com/eVH84A
# xを保持し引数fを受け取るとf(x)を実行して結果を返す関数
# s( i )( k( x ) )
``si`kx
##xを保持し引数fを受け取るとf(x)を実行してyを返す関数 http://ideone.com/hBiJo5
# xを保持し引数fを受け取るとf(x)を実行してyを返す関数
# s( k( k( y ) ) )( s( i )( k( x ) ) )
``s`k`ky``si`kx
##fとxを保持し引数yを受け取るとf(y)(x)を実行して結果を返す関数 http://ideone.com/IJWqYj
# fとxを保持し引数yを受け取るとf(y)(x)を実行して結果を返す関数
# s( f )( k( x ) )
``sf`kx
##f(x)を2回実行してxを返す
ダメぽ
http://ideone.com/umGJUG
# 直接的にやる場合(fを2つ、xを3つ記述する必要がある)
# k( x )( k( f( x ) )( f( x ) ) )
``k.x``k`.f.x`.f.x
##f(x)を3回実行してxを返す
ダメぽ
http://ideone.com/4Ts2uD
# 直接的にやる場合(fを3つ、xを4つ記述する必要がある)
# k( x )( k( k( f( x ) )( f( x ) ) )( f( x ) ) )
``k.x``k``k`.f.x`.f.x`.f.x
##f(x)を4回実行してxを返す
ダメぽ
http://ideone.com/AcushG
# 直接的にやる場合(fを4つ、xを5つ記述する必要がある)
# k( x )( k( k( f( x ) )( f( x ) ) )( k( f( x ) )( f( x ) ) ) )
``k.x``k``k`.f.x`.f.x``k`.f.x`.f.x