みやもと さん プロフィール

  •  
みやもとさん: プログラミング・メモ
ハンドル名みやもと さん
ブログタイトルプログラミング・メモ
ブログURLhttp://m-miya.blog.jp/
サイト紹介文プログラミング・メモです。
参加カテゴリー
更新頻度(1年)情報提供85回 / 365日(平均1.6回/週) - 参加 2015/04/21 01:03

みやもと さんのブログ記事

  • [Kotlinメモ] ループ
  • forループforループは、他言語のforeachと同じようにiteratorを実装したオブジェクトで使用できる。 val items = arrayOf("hoge1", "hoge2", "hoge3") for(item in items) { println(item) }配列に対して、インデックスでアクセスするには、次のようになる。 val items = arrayOf("hoge1", "hoge2", "hoge3") for(i in items.indices) { println(items[i]) }WhileループC言語と同じような感じだ。 [続きを読む]
  • [Kotlinメモ] 条件分岐(if、when)
  • まずは、if。ifは、C言語のif文と同じような使い方と、値を返す式としても使える。if文のような使い方は単に返す値を無視しているだけのような気もするwC言語なんかと同じような書き方。 var a = 10 var b = 20 if(a > b) { println("aの方が大きい") } else { println("bの方が大きい") }if式 var a = 10 var b = 20 var c = if(a > b) a else b println("c=${c}") var d = if(a > [続きを読む]
  • MacのSourceTreeでエラー
  • 忘れんようにメモを残しておく。SourceTree(2.7)のMac版でコミットしようとすると"ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory...."のようなエラーが出てコミットできない。調べてみるとダウングレードするのがよさげとわかり、とりあえず2.6.3に落としたちなみにmacOS Sierra(10.12.6)で起こってて、High Sierraでも起こっているようだ。[SRCTREE-5294] Git push to local network repository beh [続きを読む]
  • [Kotlinメモ] 変数にnullを代入
  • Kotlinの変数はそのままではnullを代入できない。型の宣言の最期に?を付けることでnullの代入が可能になる。 var str:String? = nullnullの代入を許す変数へのアクセスに?.を使うと変数がnullの場合nullを返してnullでない場合はその後に続くプロパティやメソッドを実行するように書ける。 var str:String? = null println(str?.length) // nullを表示nullの場合、nullの代わりになにか値を返すには?:を使う。 var [続きを読む]
  • [Kotlinメモ] 配列
  • 配列はArrayクラスであらわされ、C言語などの配列と同じように[]で各項目にアクセスできる。配列の生成と初期化を行う場合、arrayOfを使う。 var nums:Array = arrayOf(1, 2, 3) println(nums[0]) // 1を表示 println(nums[1]) // 2を表示 println(nums[2]) // 3を表示 println(nums.size) // 項目数(3)を表示 var strs:Array = arrayOf("abc", "def") println(strs[0]) // "abc"を表示 prin [続きを読む]
  • [Kotlinメモ] コメント
  • あっ、大事なことを忘れていたwコメントだ。Javaなんかと同じように//で改行までのコメントと/* */でのブロックコメントに対応している。また、ブロックコメントはネスト可能になっている。 [続きを読む]
  • [Kotlinメモ] クラス(4) 継承
  • 継承はクラス名のあとに:(コロン)で継承元のクラス名を書いて親クラスのコンストラクタの引数を指定します。また、クラスをそのまま宣言するとデフォルトでは継承できないクラスになるので親クラスにはopenを付ける。こんなふうになる。open class hoge { init { println("Init hoge") }}class hoge2:hoge() { init { println("Init hoge2") }}コンストラクタがある場合は、こんな感じだ。open class ho [続きを読む]
  • [Kotlinメモ] クラス(2) コンストラクタ
  • コンストラクタには、プライマリコンストラクタとセカンダリコンストラクタというのがある。プライマリコンストラクタは、次のように書く。class hoge constructor(a:String) { var hoge1:String = a}constructorを省略できて、次のようにも書ける。class hoge(a:String) { ・・・}コンストラクタの引数は、プロパティの初期化とイニシャライザブロックで使用できる。イニシャライザブロックは、インスタンス生成時に実行され [続きを読む]
  • [Kotlinメモ] クラス(1) ちょー基本的な部分
  • クラス定義はこんな感じになる。class hoge { var hoge1:String = "hoge1"; private var hoge2:String = &
    quot;hoge2" fun printHoge1() { println(hoge1) } fun printHoge2() { println(hoge2) }} hoge1はJava
    で言うところのフィールドではなくって、プロパティといってこそっとget/setメソッドが作られて
    いる。メソッドの定義は、関数とおなじ。つぎに使うところは、こうなる。fun main(args:Array) [続きを読む]
  • [Kotlinメモ] 関数定義
  • 関数の定義は、こんな感じになる。fun sum(a:Int, b:Int):Int { return a + b}funで始まって、関数名。引数は()内にカンマ区切りで名前:型のように書く。最期に戻り値の:型を書く。これは、こんなふうにも書けるらしい。fun sum(a:Int, b:Int) = a + b戻り値の型は、型推論が働いているらしく、書かなくてもいい。(書いてもいい)呼び出すところはこんな感じになる。他のC言語っぽい文法の言語と同じ感じだ。fun main(args:Array [続きを読む]
  • [Kotlinメモ] 定数リテラル
  • 10進整数は、123のようにLong型は大文字のLを付ける。123L16進整数は、0x0a2進整数は、0b001164ビット浮動小数点数は、123.4、123.4e1032ビット浮動小数点数は、fや大文字のFを付ける。123.4f数値を見やすくするために_(アンダースコア)を使用できる。val hoge = 1_000_000文字(Char)は、'A'真偽値は、true、falseをとる。文字列は、"ABC"文字列リテラルは、いろいろあるんでもーちっと詳しく書く。基本、"(ダブルクォーテーション [続きを読む]
  • [Kotlinメモ] 変数宣言など
  • 変数宣言は、var hoge1:Int = 1var hoge2hoge2 = 22みたいに書く。変数の宣言と初期化を同時におなっている。Intはデータ型で基本的なデータは、Double(64ビット浮動小数点数)Float(32ビット浮動小数点数)Long(64ビット符号付き整数)Int(32ビット符号付き整数)Short(16ビット符号付き整数)Byte(8ビット)Char(文字)Boolean(真偽値)String(文字列)となる。Kotlinでは型推論が行われるので、初期化を同時に行う場合はデータ型を省略で [続きを読む]
  • [Kotlinメモ] Hello World
  • とりあえず、お決まりの"Hello World"だ。fun main(args:Array) { println("Hello world.")}ふむふむ、ちょっと読み解いていく。関数宣言はfunではじめて関数名(引数リスト)みたいだ。変数の型は変数名のあとに:につづけて書く。Javaだと、メインクラスでmainメソッドを用意するするんだけどC言語みたいにmain関数を用意するみたいだ。println関数が出てくるけど、importやincludeみたいなのがないんだよな〜調べてみるとprintl [続きを読む]
  • [Android] PSGぽい音を出す。
  • PSGぽい音を出すプログラムを作ってみた。ボタンを押すと440Hz(いわゆるラ)の音がなって、もう一度おすとまるようなプログラムだ。package jp.hemohemo.testaudiotrack;import android.media.AudioFormat;import android.media.AudioManager;import android.media.AudioTrack;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.wi [続きを読む]
  • [React][TypeScript] Hello World的なもの(2)
  • [React][TypeScript] Hello World的なもの(1)は、動きもなくてつまらないので、他でも作ってるボタンを押したら「こんにちは!」って表示するやつを作ってみた。コンポーネントにする必要なさそうなんだけど、「ボタンをおして!」を表示しているコンポーネントを作る。(Label.tsx)import * as React from 'react';export interface LabelProps { text:string;}// ラベルのコンポーネントexport class Label extends React.Comp [続きを読む]
  • [React][TypeScript] Hello World的なもの(1)
  • 最初、webpackを使わずに試してみようと思ったが面倒くさくなってきたので、ここを参考にビルド
    環境を用意した。こっちにもざっくりと準備することを書いておく。npm initでpackage.jsonを用意し
    て、scriptsのところに "scripts": { "build": "webpack --colors --config ./webpack.config.dev.js&
    quot;, "build:prod": "webpack --config ./webpack.config.prod.js" },を追加。webpackやらなんやら
    をインストールする。npm i - [続きを読む]
  • [Typescript 2.6.1] とりあえず、lodashでエラーになるのを回避
  • Typescript 2.6.1でlodashのchainを使ってるところでエラーになって困っていたんだが、とりあえず、回避方法がわかったので書いておく。Typescriptのオプションでstrictをtrueにしていると、strictFunctionTypesオプションもtrueになってエラーになっているので、strictFunctionTypesをfalseでとりあえずエラーを回避できる。strictFunctionTypesってなんぞやは、Typescript 2.6.1の変更点をググってみろ!w(追記)うーん、これでエ [続きを読む]