以下の記事を参考に、Chrome OSを体感しています。
http://www.atmarkit.co.jp/ait/articles/1408/27/news046.html
WindowsでWebブラウジングするより断然いい!快適にストレスなく動作します!
以下の記事を参考に、Chrome OSを体感しています。
http://www.atmarkit.co.jp/ait/articles/1408/27/news046.html
WindowsでWebブラウジングするより断然いい!快適にストレスなく動作します!
IO.binwrite() を使って、開いたファイルへ文字列を書き込む。
開くファイルはローカルにあってもなくてもよい。
hello ファイルを開き、world文字列を書き込む。
defmodule MyModule do def write( word ) do case File.open "hello", [:write] do # 開く {:ok, file} -> writeStr( file, word ) # 書き込む File.close file # 閉じる {:error, posix } -> IO.puts posix end end def writeStr( file, word ) do IO.binwrite file, word end end MyModule.write( "world" )
File.read()を使って、ファイルの内容を読み込む。
ファイルの中身(hightemp_1.txt)高知県 江川崎 41 2013-08-12 埼玉県 熊谷 40.9 2007-08-16 岐阜県 多治見 40.9 2007-08-16
ファイルの内容を読み込み、表示するソース
defmodule MyModule do def fileRead( path ) do case File.read(path) do {:ok, body} -> body {:error, reason} -> reason end end end IO.puts MyModule.fileRead( "./hightemp_1.txt" )
実行結果
PS C:\Users\tomohiko\Documents\19_elixir> chcp 65001 Active code page: 65001 PS C:\Users\tomohiko\Documents\19_elixir> elixir .\fileread.exs 高知県 江川崎 41 2013-08-12 埼玉県 熊谷 40.9 2007-08-16 岐阜県 多治見 40.9 2007-08-16
Enum.shuffle()を使って、文字列をランダムにシャッフルする。
defmodule MyModule do def shuffle( str ) do :random.seed(:os.timestamp) # これがないと、いつもシャッフル後の文字列が同じとなる。 shuf = Enum.shuffle( String.codepoints( str ) ) Enum.join( shuf ) end end str = "abcde" IO.puts MyModule.shuffle( str ) IO.puts MyModule.shuffle( str )
出力例
PS C:\Users\tomohiko\Documents\19_elixir> elixir .\test_shuffle.exs adbce dbeac
iex(12)> Enum.filter( [1,2,3,4,2], fn y -> y != 2 end ) [1, 3, 4]
iex(8)> Enum.each( ["I", "am", "tomohiko"], fn(x) -> IO.puts x end ) I am tomohiko :ok
iex(1)> Enum.join( ["I","am","tomohiko."], " " ) # 空白で結合する "I am tomohiko." iex(2)> Enum.join( ["I","am","tomohiko."], "-" ) # ハイフンで結合する "I-am-tomohiko." iex(3)> Enum.join( ["I","am","tomohiko."]) # ただ結合する "Iamtomohiko."
iex(1)> n = 1 1 iex(2)> Enum.any?([1, 5, 6, 7, 8, 9, 15, 16, 19], fn(x) -> x == n end ) true iex(3)> n = 2 2 iex(4)> Enum.any?([1, 5, 6, 7, 8, 9, 15, 16, 19], fn(x) -> x == n end ) false2015/06/24 追記
iex(1)> Enum.member?([1,2,3,4],3) true iex(2)> Enum.member?([1,2,3,4],5) false
iex(7)> 1 in [1,2,3] true
str = "Now I need a drink," IO.puts "ex. " <> str IO.puts "trim なし" words = String.split(str,[","," "]) # 空文字は除かない Enum.each( words, fn x -> IO.puts x end ) IO.puts "trim: true" words = String.split(str,[","," "], trim: true) # 空文字は除く Enum.each( words, fn x -> IO.puts x end )↓実行結果
Active code page: 65001 PS C:\Users\tomohiko\Documents\19_elixir> elixir .\split_test.exs ex. Now I need a drink, trim なし Now I need a drink # 空文字が出力される=空文字は除かれていない trim: true Now I need a drink